Skip to content
UseQR

QR code type

SMS QR codes — how they work

An SMS QR code opens the phone's messaging app with the recipient, and usually a prefilled message, ready to send. Two payload formats exist — SMSTO: and sms: — and body prefilling is the part that varies most between devices, so always test on both iOS and Android.

Two competing formats

SMSTO:+14155552671:Send me the menu
sms:+14155552671?body=Send%20me%20the%20menu

SMSTO: came from the original Denso Wave scanner conventions and is understood by almost every dedicated scanner app. sms: is the RFC 5724 URI and is what native camera apps understand best. Neither is universally superior, which is the root of most SMS QR frustration.

UseQR emits the form with the widest current handset support and normalises the number to international format.

Why the prefilled body sometimes disappears

Message-body prefilling has never been consistent:

  • iOS has changed behaviour across releases; some versions open Messages with the recipient but an empty body when the payload uses the wrong separator.
  • Android honours the body in most launchers, but a few manufacturer messaging apps ignore it.
  • Dual-SIM devices may prompt for a SIM before the body is populated, and some drop it in the process.

Design so the code still works if the body vanishes: put the instruction on the printed material ("text SUMMER to this number") rather than relying only on the prefill.

Keyword campaigns

The common commercial use is a shortcode keyword campaign: the code opens a message to a shortcode with a keyword prefilled. Two cautions — shortcodes are national, so they fail for international scanners, and the keyword is exactly the part that gets dropped when prefilling misbehaves. Print the keyword visibly.

When to use WhatsApp instead

In most of the world outside North America, a WhatsApp QR code is more reliable and better received than SMS: prefilling is consistent, delivery is free for the sender, and the conversation persists. Use SMS when you need to reach devices without a data connection, or when the recipient is a shortcode service.

FAQ

Why is my prefilled SMS message empty on iPhone?

iOS support for prefilled message bodies has varied between releases and depends on the payload format used. Always print the intended keyword or message on the material as well, so the code still works without the prefill.

Which is better, SMSTO: or sms:?

SMSTO: is understood by nearly every dedicated scanner app; sms: is better supported by native camera apps. There is no universal winner, which is why testing on real devices matters more here than for other payload types.

Do SMS QR codes cost the sender money?

Sending the message costs whatever the sender's plan charges for SMS. Scanning is free. For shortcode campaigns, disclose any premium rate on the printed material.

Should I use SMS or WhatsApp?

Outside North America, WhatsApp is usually more reliable and prefills more consistently. Use SMS when the recipient is a shortcode service or the user may have no data connection.

Try it — free, no signup