Skip to content
Generate Online

SMS QR Code Generator

Open a text message with the wording already filled in and ready to send.

Include the country code. Shortcodes work too — enter the digits alone.

Optional. Appears ready to send — the sender still presses send.

QR code options

Generated on your device. Nothing you type is sent anywhere.

What a SMS QR code does

An SMS QR code opens the messaging app with your number in the recipient field and, if you want, the message already written. Its distinguishing quality is that SMS needs no app and no data — it works on any phone with a signal, including handsets that have never installed a messaging platform. That makes it the most universally deliverable messaging payload here. The prewritten message is where it becomes genuinely useful for operations: encode a bay number, a stand reference or a unit code and the reply arrives already identifying itself.

When to use one

  • Car parks where a bay number identifies the payment or the fault
  • Market stalls and event stands taking orders by text
  • Equipment tags where a fault report should carry the unit reference
  • Areas with a phone signal but poor or no mobile data coverage
  • Audiences who may not have WhatsApp or any messaging app installed
  • Voting, entry and competition codes printed on physical media

Why it works well

  • Works on any phone with a signal

    SMS needs no app, no account and no data connection. It reaches handsets that have never installed a messaging platform, which makes it the most broadly deliverable of the messaging options on this site.

  • Works where data does not

    Underground car parks, rural sites and steel-framed buildings often carry voice and SMS while data fails entirely. A messaging code that depends on an app simply will not send in those places.

  • The reference travels with the message

    A prewritten bay number or unit code means the reply identifies itself. Nobody has to ask where the sender is standing, which removes an entire round trip from the exchange.

  • No account for either side

    Neither party needs to be registered with any service. For a public-facing code where you cannot assume anything about the person scanning, that removes the largest source of failure.

Worked examples

Car park bay reference

Printed on the bay marker. The message carries the bay number so the operator knows the location without asking.

Encoded as

SMSTO:+447700900123:BAY 14

Shortcode with a keyword

A five-digit shortcode with a keyword, as used for competitions and opt-ins. Note there is no plus sign on a shortcode.

Encoded as

SMSTO:60777:JOIN

Fault report with a unit code

On an equipment label so a fault report arrives already identifying which machine it refers to.

Encoded as

SMSTO:+441234567890:Fault: unit 4471-A

How to create a SMS QR code

  1. Enter the receiving number

    Put the destination in the Recipient number field with its country code. Shortcodes work too — enter the digits on their own without a plus, since they are not international numbers.

  2. Write the message the sender will send

    The Prewritten message appears in their compose box. For operational uses this is where a location or reference code goes, so the reply is self-identifying without anyone having to explain where they are.

  3. Keep the wording short

    SMS codes are usually printed small on parking signs, stand labels and equipment tags. A brief message keeps the pattern coarse, and a coarse pattern is what survives being read at night in a car park.

  4. Test that the message survives

    Scan the code and check the composed message is intact before printing. Punctuation occasionally gets mangled by scanner apps that parse the payload loosely, and it is better to find that now.

What goes wrong, and how to avoid it

  • Using the wrong URI scheme

    There are two competing formats, and they are not equally supported. The sms: scheme with a body query parameter is widely emitted but iOS frequently drops the message text, opening a blank compose window with just the number. SMSTO: is understood by both platforms and preserves the body. Codes made here use SMSTO for that reason.

  • Adding a plus to a shortcode

    Five and six digit shortcodes are not international numbers and must be entered without a leading plus. Adding one produces a payload the network cannot route, and the send fails after the message has been composed — late enough that most people give up.

  • Assuming the message sends itself

    The compose window opens with the text ready and waits for the sender to press send. This cannot be bypassed by any code, which is correct — a QR that silently sent a text from someone's number would be a serious abuse vector, particularly with premium-rate shortcodes.

  • Forgetting the sender is charged

    The person scanning pays for the message at their own rate, and pays considerably more for a premium shortcode. A code that costs the scanner money without saying so is a poor experience. Print the cost next to it where a premium number is involved.

  • Long messages producing a dense code

    SMS codes are typically printed small on signs and labels, so density matters more than for most payload types. A message of more than a short phrase quickly produces a pattern too fine to read reliably in the dim conditions these codes usually live in.

Device and app compatibility

Both iOS and Android open their default messaging app from an SMSTO payload with the recipient and body populated. The inconsistency lies in the older sms: scheme, where iOS often discards the message text — the reason this generator emits SMSTO instead. A few third-party scanner apps display the raw payload rather than offering to compose, leaving the number to be copied manually. Tablets without a cellular connection generally cannot send at all, though some hand the message to a linked phone. Desktop scanners typically do nothing useful with an SMS payload, so these codes belong on print rather than on screen.

The payload is SMSTO:number:message. Because the colon separates the fields, a message containing a colon can confuse loosely written parsers — worth knowing if a code produced elsewhere composes a truncated message.

Common questions

Why use SMS rather than WhatsApp for a QR code?

SMS needs no app, no account and no data connection, so it reaches everybody with a phone signal. WhatsApp needs the app installed and working data. For a public code where you cannot assume anything about the person scanning, or in a location where data coverage is poor but voice is fine, SMS is the more reliable choice by a wide margin.

Does the text message send automatically?

No. The compose window opens with the recipient and message ready, and the person presses send themselves. No QR code can send a message on someone's behalf, which is a deliberate protection — particularly relevant here, since premium-rate shortcodes would otherwise be trivially abusable.

Do shortcodes work?

Yes. Enter the digits with no plus sign and no country code, because a shortcode is not an international number. Adding a plus produces a payload the network cannot route, and the failure appears only after the message has been composed, by which point most people abandon it.

Who pays for the message?

The person scanning, at their own standard rate — or considerably more for a premium shortcode. Because they may not realise this before composing, printing the cost alongside any premium number is both fairer and required by regulators in a number of jurisdictions.

Why does my message disappear on iPhone?

That is the sms: scheme, which iOS frequently strips the body from, producing a blank compose window with only the number filled in. The fix is the SMSTO: format, which both platforms handle correctly and which every code generated here uses. It is a common bug because it works on Android, so a code often tests fine on the phone it was built with and fails for half the people who scan it.

Is my number or message uploaded anywhere?

No. The payload is assembled in your browser and the pattern drawn on your device, with nothing transmitted at any point. You can verify it by opening developer tools and watching the Network tab stay empty as you type into the form.

Read before you print

Other QR code generators

This generator is part of contact QR codes — see the whole group, and what to decide before you generate one.