QR Decode
Decode a QR

Private, static, no sign-up

SMS QR code generator

Be the first to rate this page.

Prime the message so your customer doesn't have to write it: scanning opens a text draft to your number, ready to send — or edit — in one tap.

Customize design

Design

No logo selected.

Processed locally

Your input stays in this browser.

Ready to verify

Review the result before saving or printing.

No expiry

Static codes keep working without a subscription.

Checking locally…

800 × 800 px · PNG size calculated on download · true vector SVG

The SMSTO payload

The code uses the widely recognised SMSTO format: the prefix, then the destination number, then a colon and the message. Line breaks in the message stay literal line feeds inside the payload.

A request to a business number comes out as:

One code carries one destination number. Group texts and multiple recipients are not reliably supported by scanners, so if you need two numbers, print two codes.

Exact payload for the form example
SMSTO:+12025550123:Please send the current opening hours.

Number and message rules

Give the number in international form — plus sign and country code — so the draft addresses correctly regardless of where the phone scanning it is registered. The generator strips decorative punctuation for you.

Keep the message short. Payload length drives code density, and carriers still split long texts into segments once they pass the classic 160-character boundary. A prompt the sender completes ('Callback please. Name: ') beats a paragraph they have to delete.

The message is a suggestion, not a contract: the person scanning can rewrite or erase it entirely before sending. Design the text assuming friendly editing.

What phones do after the scan

iOS and Android open the default messaging app with the recipient and draft filled in. Sending always takes a deliberate tap — a scan cannot text anyone by itself, and it cannot subscribe the scanner to anything.

Some third-party scanner apps show the raw SMSTO string instead of opening the composer. The number and message are readable either way, but test the flow in a normal camera app before you print — that is what your audience will use.

SMS, plain text, or WhatsApp?

An SMS code has a destination: it opens the messaging app with your number filled in. A plain text code merely displays words — no recipient, nothing to send. People mix these up constantly; pick by whether an answer should arrive in your inbox.

If your audience lives in WhatsApp rather than SMS, a wa.me code opens the chat there instead — same pattern, different channel, and it survives the scanner being abroad without SMS roaming.

Costs, consent, and other fine print

The message goes out on the sender's plan at their normal SMS rate — for most people that is zero extra, but it is their money, not yours, and worth remembering for international placements where the scanning phone may be roaming.

A scan is not consent to marketing. The person sent you one message; if you plan to keep texting them, make the opt-in explicit in the message itself ('Text JOIN to subscribe to offers') and honour the local rules for the country you print in.

And since the code is static, the number in it is permanent ink. Use a number you will still control in five years, not this quarter's campaign SIM.

Where SMS codes work

Service and callback requests on equipment and vans, opt-in keywords for lines you operate, competition entries, quick RSVP by text. Anywhere the phone's owner should end up in a two-way thread with you, one scan removes the typing — and unlike a web form, the reply lands in an app they check hourly.

Before a print run: export, decode the file to confirm number and wording, then scan once with a real phone and actually send the test message. The reply arriving at the right handset is the test that matters.

Frequently asked questions

Can I create a free SMS QR code?

Yes. Generation runs locally in your browser, and the PNG and SVG exports carry no watermark, account, or usage limit.

Does scanning send the text message?

No. It opens an editable draft in the messaging app. The person scanning decides whether to send, change, or discard it.

Can the message contain a line break?

Yes — line breaks are kept in the payload, though a few scanner apps flatten them. Test on iOS and Android if the formatting is load-bearing.

Can one code text several numbers at once?

No. The SMSTO format carries a single recipient, and multi-recipient extensions are not handled consistently by phones. Use one code per number.

Does the sender pay for the message?

The text goes out on the sender's own plan at their normal SMS rate — usually nothing extra domestically, but real money when roaming. The code itself adds no charge in either direction.

Keep the SMS draft small and reversible

The example `SMSTO:+12025550123:Please send the current opening hours.` contains one destination and one message separated by the second colon. A phone number should include its country code if a sign will be seen internationally; `+12025550123` is data, while spaces and parentheses are presentation. The body should ask for one useful action, not contain a long support script that turns the symbol into a dense image. Scanning must open an editable draft, so never present the code as if it sends automatically. Provide the number visibly nearby for people who choose to type instead of scan.

Prove the result in the messaging app

Test the exported code on iOS and Android, check that the destination is unchanged and that the compose view treats the text as a draft. Messaging URI support varies more than web URLs; a compatible phone may display the text or offer a different handler. That is a reason to label the sign `Text us at +1 202 555 0123`, not a reason to hide the normal contact method. Do not prefill sensitive diagnosis, booking or account details in a code that can be photographed; the QR payload is readable by anyone with a scanner. Save a scan result with the artwork revision. If a final print will not scan, examine module size, quiet zone and contrast; changing the recipient cannot repair an optical defect. If the phone opens the wrong number, compare the source string and normalisation before assuming the printer changed data.

Avoid making a personal number the only route

A public SMS code can spread beyond the original sign, so use a business number with a stated response expectation and a normal web or phone fallback. Test that the current owner receives the draft at the intended number. If staffing changes, replace the code and visible number together; forwarding rules are not a substitute for an honest, maintained contact route.

Expect message formatting differences

A line break or punctuation mark can appear differently in mobile handlers even though the QR bytes are correct. For a message where wording matters, test the exact sentence rather than a shortened substitute. If consistent formatting is essential, put the detail on a web page and use SMS only to initiate a brief, editable contact request.

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.