Skip to content
cliplimeClipLime

Make an SMS QR code

Scanning opens a new text to your number with the message ready, and the person presses send. Good for keywords, RSVPs and quick replies.

What you encode stays in your browser

Who should the text go to?

Start with + and the country code if people may scan it from abroad.

Optional. It is filled in for the person, who then presses send.

sms: is the standard and works on current phones. SMSTO: is older and is only needed for some scanner apps.

When someone scans it

  • The phone opens a new text to the number with your message filled in. The person presses send, so scanning never sends anything by itself.
  • Some phone and scanner combinations ignore the filled in message and open a blank text. Scan with the phones your audience uses before you print.

Your code

Fill in the form and your code appears here, ready to download.

Style

Contrast 21:1Good

For PNG, SVG and PDF. The code is then only as readable as what sits behind it.

The usual choice. It can still be read with about 15% of it damaged.

Optional. It is drawn in the middle and stays on your device.

PNG width and height in pixels.

Blank border, in squares. The standard says 4.

4

At a glance

What it makes
A QR code that opens a new text message to a phone number, with your message filled in if you add one.
Link styles
sms:, the standard (RFC 5724), or SMSTO:, an older style that some scanner apps expect.
Nothing is sent
The person sees the text in their messages app and presses send themselves.
Size
A number alone makes a 21 by 21 squares code at medium error correction. A 21 character message makes 33 by 33 with sms: or 29 by 29 with SMSTO:.
Message length
One text holds 160 characters, or 70 if the message has emoji or letters outside the basic alphabet. The form counts the texts as you type.
Country code
Start the number with + and the country code so it works from anywhere. You get a note if it is missing.
Privacy
Made in your browser. The number and message are not uploaded or saved.

How to do it

  1. 1

    Enter the number to text

    Use digits, with a + and the country code at the start if people may scan it from abroad. Spaces, dashes and brackets are cleaned up for you.

  2. 2

    Write the message

    It is optional. A short keyword such as JOIN or a line like "Yes, I will be there" is enough. The form shows how many texts your message takes.

  3. 3

    Choose the link style

    Leave it on sms: unless a scanner you need to support asks for SMSTO:.

  4. 4

    Download and test it

    Scan the code with an iPhone and an Android phone if you can, and check that the number and the message are both filled in before you print.

What a phone does with an SMS code

A phone that scans the code recognises the sms: prefix and opens its messages app with a new text. The number is in the To field and your message, if there is one, is in the box. The person presses send, so scanning never sends a text by itself.

Some phone and scanner combinations ignore the filled in message and open a blank text to the right number. The standard describes the message part, but systems handle it a little differently, so test with the phones your audience uses. If the message matters, say what to write on the sign next to the code.

A tablet or laptop with no texting may do nothing, or may offer another messaging app.

sms: or SMSTO:

The two styles carry the same information in a different shape:

  • sms: is the standard form: sms:+15550100199?body=Yes%2C%20I%20will%20be%20there. The message is written into the link in a safe form, so each space takes three characters.
  • SMSTO: is an older style with no official standard behind it, recognised by many Android scanner apps: SMSTO:+15550100199:Yes, I will be there. The message is written as it is, so the code is smaller: 29 by 29 squares against 33 by 33 for the same 21 character message.

Use sms: unless a scanner you need to support asks for the other one. Phone cameras are built for sms:, and some may not know SMSTO:.

Message length and what the sender pays

A single text can hold 160 characters in the basic text alphabet, and 70 characters once the message includes an emoji or letters outside that alphabet, such as most Chinese, Japanese, Korean or Arabic text. Longer messages are sent as several linked texts, 153 or 67 characters each. The form shows how many your message takes.

A scan sends nothing. When the person presses send, the text is billed at their normal rate, which may be higher for international numbers or special numbers. A short message in the basic alphabet is cheapest and also makes the smallest code.

Codes that ask people to text a keyword to a number only work if something on the other end reads the replies. This tool makes the code, not the service. If you collect numbers by text, the rules on consent differ from country to country, so check yours.

Writing the number so it works

Write the number in international form, +1 555 010 0199, so it works wherever it is scanned. A number such as 020 7946 0000 only works from inside its own country. A (0) in brackets right after the country code, as in +44 (0)20 7946 0000, is dropped, because it is only dialled inside the country. Short numbers of five or six digits, used by some text services, often work only with certain carriers in one country, so they are a poor fit for a code that strangers scan.

The number is stored as readable text, so anyone who has the code can see it. Do not put a private number on a poster. See also the phone number QR code page for a code that calls instead of texting.

Questions people ask

How do I make a QR code that sends a text message?

Enter the phone number and, if you like, a message, then download the code. A scan opens a new text to that number with the message filled in, and the person presses send.

Does scanning send the text automatically?

No. Phones open a draft and wait for the person to press send, so a code cannot send a text without someone choosing to.

What is the difference between sms: and SMSTO:?

They carry the same number and message. sms: is the standard link and is the one to use by default. SMSTO: is an older style that some Android scanner apps expect, and it makes a slightly smaller code because the message is not rewritten into a safe form.

Why does my phone open a blank text without my message?

Some phone and scanner combinations ignore the message part of the link and open a text to the right number only. Try the other link style, test with the phones your audience uses, and say on the sign what to write.

How long can the message be?

The code can hold much more than a text should. One text holds 160 characters, or 70 with emoji or other scripts, and longer messages are split into several. For the smallest, easiest to scan code, keep the message short.

Can I make a QR code that opens a WhatsApp chat?

Not with this page, because it opens the normal messages app. WhatsApp has its own link form, such as https://wa.me/15550100199 (the number in international form, with no + or spaces). You can put a link like that in a link QR code.

Guides that help

All QR codes guides →