SMS QR Code Generator
Open the messaging app with your number and message already typed.
- Free, with no account
- Static — it never expires
- Encoded on your device
International form, starting with + and the country code.
Short works best — a single keyword is the most reliable pattern of all.
SMSTO is the safer default across devices.
Export
SVG has no resolution at all — it is the right choice for anything that will be printed.
Appearance & encoding
Higher levels survive damage and allow a bigger logo, but make the symbol denser.
The specification requires 4. Below that, decoders often fail to find the symbol at all.
Centre logo
PNG, JPG, SVG or WebP up to 512 KB. The file is read in this tab and never uploaded.
The safe maximum depends on the symbol size, not just the error-correction level — the check below works it out for the code you actually have.
Print readiness
What is actually encoded
The two formats, precisely
There are two ways to write a text message into a QR Code and they are not equally supported:
| Format | Looks like | Support |
|---|---|---|
| SMSTO | SMSTO:+14155550123:JOIN | The ZXing convention. Android camera and every dedicated scanner app. Body is normally honoured. |
| sms: | sms:+14155550123?body=JOIN | RFC 5724. Reliable on iOS. A few Android messaging apps open the thread but drop the body. |
Neither is universal. If it matters that the pre-filled text arrives, test on a phone from each platform before the run goes to print — that takes two minutes and saves a reprint.
When an SMS code is the right choice
- Keyword opt-in. “Text JOIN for restock alerts.” The person keeps control of the conversation, which makes opting in feel safe.
- Service requests in the field. A sticker on a machine with its asset ID pre-filled:
FAULT AC-114. The message arrives already identified. - Places with no data signal. Basements, lifts, rural sites. SMS gets through where a web form cannot load.
- Audiences who do not install apps. Messaging is on every phone ever sold, with no account to create.
Say what will happen
Limits worth knowing
- Body support is not guaranteed. Design so the code is still useful if only the recipient survives.
- No group recipients. One number per code.
- No emoji in the pre-filled text. They encode as multi-byte UTF-8, inflate the symbol, and render inconsistently across messaging apps.
- Short codes do not travel. They are valid in one country only.
FAQ
Frequently asked questions
SMSTO or sms: — which format should I pick?
SMSTO: is the QR-specific convention and is the safer default: dedicated scanner apps and Android's camera all understand it, including the pre-filled message. sms: is the RFC 5724 URI form, which iOS handles well and a few Android builds accept while ignoring the body. If your audience is mostly iPhone, try sms:; otherwise stay with SMSTO.Does scanning send the message?
Who pays for the message?
Can I use a short code or a five-digit number?
Why does the pre-filled text not appear on some phones?
Why should I include the country code?
+44... or +1... and it works from anywhere.Keep going