SMS QR Code Generator

Create a QR code that opens the user's texting app with your number — and optionally a prefilled message — ready to send. Perfect for SMS opt-ins, support hotlines, and 'text us' campaigns.

Your files never leave your device. No upload. No sign-up.

An SMS QR code encodes an SMSTO: URI in the format SMSTO:<number>:<message>. When someone scans it, their phone opens the default messaging app with the number and message body prefilled, and they tap Send to actually deliver it. Great for opt-in campaigns (‘text JOIN to 12345’), support hotlines, quick surveys, and any print material where you want a one-tap SMS action.

How the SMS QR code actually works

The SMSTO: scheme was popularised by Nokia and is the format ZXing and most modern QR readers standardise on. iOS Camera and Android Camera both recognise SMSTO: and open Messages / Google Messages with the number and body prefilled. Shortcode support (five- or six-digit US shortcodes for opt-in campaigns) is carrier-dependent — most major US and EU carriers accept them from SMSTO: URIs. Message body characters are passed through raw and can include Unicode, emoji, line breaks, and carrier-specific keywords like ‘JOIN’ or ‘STOP’.

Common mistakes and limitations of SMS QR codes

The user still taps Send — no phone will silently dispatch SMS from a scan. RCS-only (Rich Communication Services) messages don't fire from SMSTO: URIs; the phone always falls back to standard SMS. iMessage on iPhone honours the number but may route through iMessage instead of SMS if the recipient is another iPhone — usually fine, but worth testing for shortcode campaigns which are SMS-only. Some very old handsets ignore SMSTO: and only understand the older sms: variant; if you're printing for a very broad audience, include the phone number as plain text as a backup.

SMS QR code FAQ

Does the SMS send automatically?
No. The phone opens Messages with the number and body prefilled; the user taps Send to actually deliver the SMS.
Why include the country code?
International country codes (e.g. +1 for the US, +44 for the UK) make the QR work when scanned from any country. Without one, only local numbers route correctly.
Does this work for shortcodes?
Yes — most major US and EU carriers accept 5- and 6-digit shortcodes from SMSTO: URIs. Test on at least one iPhone and one Android before printing at scale.
Can I use emoji in the message?
Yes. QR codes support full Unicode, and modern SMS supports emoji via UCS-2 / GSM 7-bit fallback.
How long can the message be?
The QR itself holds up to a few thousand characters, but the SMS message you actually send is limited by carrier concatenation rules (usually 160 characters per SMS segment for GSM 7-bit).
Will this send through iMessage on iPhone?
It depends on the recipient — iMessage routes automatically for other iPhones, otherwise it falls back to SMS. For shortcode campaigns (SMS-only), the phone uses standard SMS.
Is the message stored on your servers?
No. The QR is generated locally in your browser and the payload is encoded directly into the image — nothing is logged.
Can I include line breaks?
Yes — line breaks in the message textarea are preserved in the SMSTO: payload and shown as-is when the messaging app opens.

SMS QR field reference

FieldURI segmentNotes
Recipient numberSMSTO:<number>Include country code (e.g. +1)
Message body:<message>Unicode + emoji supported
ShortcodeSMSTO:12345Carrier-dependent

Full example: SMSTO:+15551234567:JOIN

Last updated:

References: Nokia SMSTO URI documentation, IETF draft-wilde-sms-uri, ZXing SMS format documentation.

You might also like