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.