SMS QR code generator
Scanning opens the messaging app with your number in the To field and your message already typed. Useful when the reply matters more than the call.
100% client-side•no message is sent from here•free
Text message
Spaces, dashes and brackets are stripped. Keep the + and the country code if anyone might scan this from another country.
The message is a suggestion, not a commitment: it lands in the compose box and the sender can edit or delete it before sending.
Options
Center logo
Your image is read in this tab with FileReader and drawn straight onto the code — it is never uploaded.
Enter a phone number to mint your SMS code.
What happens when someone scans this
The payload is SMSTO:number:message — the convention QR scanners settled on years ago, and the one Android's camera and Google Lens read directly. The messaging app opens with the number in the To field and your text in the compose box. Nothing sends by itself. The person scanning presses send, on their own number, at their own carrier's rate, which is the honest thing to say next to any code that asks somebody to text a shortcode.
SMSTO or sms: — why this uses SMSTO
There are two ways to write this payload and neither is universal. The plain sms: URI is the one in the standards (RFC 5724), but the separator before the message body was implemented inconsistently for years — some platforms wanted sms:+15550109999?body=hi and others only acted on &body=hi, so a code that worked on one phone dropped the message on the next. SMSTO: came out of the ZXing scanner library instead, and because that library is what most QR readers grew from, it is the form scanners are most likely to understand end to end.
What that still leaves is a real difference in behaviour: a scanner that recognises SMSTO opens the messaging app with the body filled, while one that only half-supports it opens a blank message to the right number. Both outcomes reach you. So write the number as the thing that must work and the message as a bonus — and if the message is doing the real work, such as a keyword a system is matching on, put that keyword on the poster in plain text as well.
Frequently asked questions
Does the message send on its own?
No, and no payload can make it. The text lands in the compose box; a person has to press send.
Can I use a shortcode?
Yes. Shortcodes are digits, and they go in the number field the same way — leave off the + and any country code, because a shortcode is only routable inside its own country's network.
Should I include the country code?
If there is any chance of an international scan, yes: write it as + then the country code then the number. A national-format number will not route from a foreign SIM even though the code scans perfectly.
What if I want the reply by email instead?
Use the email QR code, which opens a draft in the mail app with a subject and body prefilled. For a code that just starts a call, use the phone number QR code.