Make an SMS QR Code That Writes the Message for Them

Enter the number, type the message you want people to send, and download a code that opens a ready-written text on any phone. Nothing is sent until they press send.

1 Content
https://
No registration required Unlimited QR codes No watermark Free high-resolution downloads
2 Design
Shape
Pattern
Eyes
3 Preview
Copied!

What Is an SMS QR Code?

An SMS QR code is a QR code that stores a phone number and, optionally, the text of a message. Scanning it opens the phone's own messaging app with both already filled in, leaving the person to press send. The number and the message live in the pattern itself, so the code needs no account and no service behind it.

The KoloQR designer with a QR code being styled - shape, colors and center logo

SMSTO: Is the Prefix That Works on Both Phones

There are two ways to write an SMS into a QR code, and only one of them behaves the same everywhere:

  • SMSTO:number:message - the form both iOS and Android open with the message body in place. KoloQR encodes this one.
  • sms:number?body=message - the Android spelling. On iOS the question mark is not what carries the body, so the message is dropped and only the number arrives.
  • sms:number&body=message - the iOS spelling, using an ampersand. Android reads the whole thing as part of the number instead, and the draft opens addressed to nobody.

That split is why a code built somewhere else can look broken on exactly half the phones that scan it: the message shows up on the tester's handset and disappears on everyone else's. Encoding SMSTO: sidesteps the argument, which is what KoloQR does - see the phone number QR code page for the same problem's simpler cousin, where there is no message body to lose.

The Scan Opens a Draft, It Does Not Send

Every SMS QR code stops one step short of sending. The phone opens its messaging app, fills in the recipient and the body, and waits - the person still has to press send, and they can edit the wording first or abandon it entirely. That is deliberate on both iOS and Android: a scannable square that could dispatch a paid message on someone's behalf would be a way to bill strangers. It has two consequences worth designing around. The message you write is a suggestion, not a guarantee, so keep it short enough that nobody feels the need to rewrite it, and make sure it still means something if a word is changed. And because the sender pays for the message at their own carrier's rate, an SMS code is a poor fit for an audience on prepaid plans or roaming - offer a scan-to-call or a link beside it for them.

Generate QR Code
A phone scanning a printed QR code to test it before the print run

Where SMS QR Codes Are Used

The pre-filled message is the whole point: an SMS code earns its place wherever what someone needs to say is predictable and typing it is the friction.

Parking Bays and Meters

The bay number is the message. Scanning at space 214 opens a text that already says 214, which is the digit people mistype.

Keyword Opt-Ins for Offers

Campaigns that ask people to text JOIN to a short code work far better when the word and the number arrive already typed.

Waiting Lists and Table Queues

A code by the door that texts “table for 2” gets people onto the list without a host writing anything down.

Field Service and Maintenance Tags

A sticker on a machine can carry its own asset number in the message, so a fault report identifies the machine automatically.

Delivery and Collection Points

A locker or pickup bay code that texts the reference number saves a driver reading it off a screen in the rain.

Feedback and Report-a-Problem Signs

On transport and in public spaces, texting is the reporting channel people will actually use at 11pm.

How to Create an SMS QR Code

Number, message, download - about a minute:

Generate QR Code
  1. 1

    Open the Type Picker and Choose SMS

    SMS sits under More, in the Basic group. Picking it swaps the URL field for a phone number and a message box.

  2. 2

    Enter the Number in Full International Form

    Start with the + and the country code: +1 415 555 0134, not 415 555 0134. A national-format number fails the moment someone scans it while abroad.

  3. 3

    Write the Message People Will Send

    Keep it to a few words and make it the thing you need to know - a bay number, a keyword, a reference. Leave it blank if you only want the conversation opened.

  4. 4

    Style It, Then Test on Both Platforms

    Choose a shape, set the colors, add a logo. Then scan the exported file on an iPhone and on an Android phone, and check the message survived on both.

The KoloQR generator with a QR code being designed and ready to download

Which File Format Should You Download?

KoloQR exports your SMS QR code in three formats. Pick by where it will be seen:

  • PNG for screens, email footers, and slides, where the code appears at one fixed size.
  • SVG for parking signage, machine labels, and anything a printer will scale up without softening the edges.
  • PDF for handing to a sign shop or a label supplier at print-ready quality.

SMS codes end up outdoors more often than most types - car parks, bus stops, equipment tags - so the export matters twice over. Vector holds its edges when a sign is enlarged, and it is what a laminator or a vinyl cutter wants to be given.

Generate QR Code

Best Practices for SMS QR Codes

An SMS code fails in ways a URL code cannot, because a phone number is not a web address and a text message costs the sender money:

  • Always Use the International Format

    +1 415 555 0134 works from any country; 415 555 0134 works only from inside the US. Visitors and roaming phones are exactly the audience most likely to scan a printed code.

  • Keep the Message Under 160 Characters

    Past 160 characters a text splits into multiple segments and the sender may be charged for each. A pre-filled message that quietly costs three times as much is a bad first impression.

  • Write the Message So It Survives Editing

    People rewrite what looks odd. “Bay 214” survives; a long formal sentence gets trimmed until the part you needed is gone.

  • Avoid Emoji in the Pre-Filled Text

    An emoji pushes the message from GSM encoding into UCS-2, which cuts the single-segment limit from 160 characters to 70 - and some older handsets mangle it entirely.

  • Say What the Code Does Beside It

    “Scan to text us your bay number” earns scans that a bare square does not, and it warns the people who would rather not pay for a message.

  • Check Short Codes Reach Your Whole Audience

    Five- and six-digit short codes are country-specific and are often unreachable from foreign SIMs and some VoIP numbers. A full number is the safer thing to print.

  • Make Sure Someone Reads the Replies

    An SMS code creates an inbox. A code on a fault-report sticker that texts a number nobody monitors is worse than no code, because it looks like a reporting channel.

  • Keep Strong Contrast and a Quiet Zone

    Dark modules on a light background, and four modules of clear margin on every side. On a busy sign, that margin is the first thing a layout borrows.

  • Size It for the Reading Distance

    Roughly a tenth of the distance it is read from: about 2 cm on a table card, about 20 cm on a parking sign read from 2 metres.

  • Test With the Message, Not Just the Number

    The number almost always survives; the body is what gets dropped. Scan the exported file and read what is actually in the draft before printing anything.

Why Your SMS QR Code Isn't Working

An SMS code that scans perfectly can still arrive wrong. These four cover nearly every case.

  • The Message Is Missing on iPhone but Fine on Android

    Cause
    The code was built with the sms:number?body= form. Android reads the query string; iOS does not, so it opens the draft with the recipient set and the body empty.
    Fix
    Re-encode using SMSTO:, which both platforms read the same way. Generating the code in KoloQR's SMS form does this for you - then rescan on an iPhone to confirm.
  • The Draft Opens With No Recipient

    Cause
    The opposite mismatch: an sms:number&body= code scanned on Android, where the ampersand and everything after it is swallowed into the number field, leaving nothing valid to address.
    Fix
    Use the SMSTO: form. If you are checking a code you were sent, scan it with a QR reader that shows raw text - the prefix tells you immediately which spelling it carries.
  • Nothing Happens When a Tablet or Laptop Scans It

    Cause
    The device has no cellular messaging app to hand the SMSTO: link to. Wi-Fi-only tablets, most laptops and many kiosk scanners simply have nowhere to send it.
    Fix
    Expect phones and design for them. Where a mixed audience matters, print a URL code beside the SMS one so a tablet has somewhere to go.
  • People Say the Text Cost Them More Than Expected

    Cause
    The pre-filled message runs past 160 characters, or contains an emoji that drops the limit to 70, so it is being billed as two or three messages - and roaming senders pay international rates.
    Fix
    Shorten the message and strip emoji. For an international audience, consider a WhatsApp QR code instead, which travels over data rather than the carrier's SMS billing.

Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.

Questions? Answered

An SMS QR code stores a phone number and, optionally, a message. Scanning it opens the phone's messaging app with both filled in, ready to send. The data is in the pattern itself, so no account or service is needed.

No. It opens a draft in the messaging app and stops. The person still presses send, and can edit the wording first. Neither iOS nor Android allows a scanned code to dispatch a message on its own.

Because the code uses the sms: URI with a query string, which iOS ignores. The SMSTO: prefix is the form both iOS and Android read the same way, and it is what KoloQR encodes.

Keep it under 160 characters. Past that the text splits into multiple segments and the sender may be charged for each. Adding an emoji cuts the single-segment limit to 70 characters, so leave emoji out.

Yes. Write it in full international form, starting with +. A national-format number fails as soon as someone scans it on a foreign SIM - which is a large share of anyone reading a printed code while travelling.

You can, but short codes are country-specific and often unreachable from foreign SIMs, VoIP numbers, and some business plans. A full international number reaches everyone; a short code reaches your domestic audience.

The person scanning. The text leaves their phone on their own plan, at their own carrier's rate, including roaming charges abroad. That is worth saying on the sign if the audience is likely to be travelling.

Not on its own - a static code has no server in the middle to count anything. What you get instead is the inbox: every message that arrives is a scan that converted, which is the more useful number anyway.

No. The built-in camera on any modern iPhone or Android reads it, and the message opens in the phone's own SMS app. Nothing to download on either side.

SMS works on every phone with a signal and needs no account, but the sender pays per message. A WhatsApp QR code is free over data and better for international audiences, but only reaches people who use it. Print the one your audience already has.

Why KoloQR?

  • Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
  • Customize colors, logos, and unique shapes
  • Download high-quality PNG and SVG files
  • Built for both print and digital
Generate QR Code
A plain black QR code beside the same code restyled as a circle with brand colors