SMS QR Code Generator
Scan, and a text message to your number opens with your words already typed.
Fill in the form and your QR code shows up here.
Nothing you type is uploaded — the code is made in your browser. No watermark, no expiry.
What should the QR code open?
Include the country code so it works abroad.
Quick styles
For placing the code on your own design (PNG, SVG, PDF). Put it on a light background.
Gradient
PNG, JPG, WEBP or SVG, up to 10 MB. Blank edges are trimmed for you, and error correction switches to High.
Or pick an icon
Logo size
Background
A white shape behind the logo. Useful on a colored or transparent background, so the logo doesn’t blend in.
Space around the logo
Dots
Corner squares
Corner dots
Frame
Error correction
How much of the code can get damaged or covered and still scan: L 7%, M 15%, Q 25%, H 30%. Higher adds more squares, so the code gets denser. Auto uses M, or H when you add a logo.
White border (quiet zone)
Scanners need clear space around the code — the standard is 4 squares wide. Pick Slim or None only if you’ll put the code on a light area with space around it.
How it works
- 1
Enter the phone number
Include the country code so it works for everyone. We warn you if a 0 slipped in after it.
- 2
Write the message
The counter shows how many characters you have left and if it will be split into parts.
- 3
Download and test
Scan the preview with your phone before you print. Messages should open with your text.
What’s inside the code
We use the SMSTO format: the number, then the message.
SMSTO:+447700900123:JOIN
It’s widely supported. Apple’s developer session on QR codes for iOS (Tech Talks 2017, session 206) names SMSTO as a supported format that “allows you to prepopulate the text message content”, and Android scanners built on ZXing have read it for years. When someone scans it, their Messages app opens a new text to you with your words in the box. They tap send — nothing goes out by itself, and they pay their normal rate. Our QR code scanner shows the number and message inside any SMS code, so you can check yours before printing.
Why 160 characters sometimes becomes 70
A single text message holds 160 characters — but only if every character is in the basic SMS alphabet (GSM-7, defined in 3GPP TS 23.038). That alphabet covers English letters, digits, common punctuation and a few accented letters like é, è, à, ü and ñ. Use anything outside it and the whole message switches to Unicode, and the limit drops to 70:
- most Vietnamese letters (ả, ơ, ư, ạ…) — “Xin chào” fits GSM-7, “Cảm ơn” doesn’t,
- any emoji (and each one counts as 2),
- curly quotes ’ “ ” that phones and word processors add automatically,
- Chinese, Japanese, Thai, Arabic and other scripts.
Go over the limit and the message is sent in parts: 153 characters each in GSM-7, 67 in Unicode. Most phones join the parts back together, but some plans charge per part. Also, ^ { } [ ] ~ | € \ fit GSM-7 but count as 2 characters each.
The counter under the message box does this math for you as you type, using the same rules.
How much the message adds to the code
We measured the QR grid for the same UK number with different messages:
| Message | QR grid |
|---|---|
| No message | 21 × 21 |
| “JOIN” | 25 × 25 |
| 57-character English sentence | 37 × 37 |
| 58-character Vietnamese sentence | 41 × 41 |
| 160 characters | 53 × 53 |
A one-word keyword makes one of the smallest codes you can print. That's why opt-in codes work so well on stickers and receipts. Most of your customers chat on WhatsApp? A WhatsApp QR code works the same way and costs them nothing to send.
Running a text-to-join campaign?
The classic use is “Text JOIN to get our deals.” A few things to get right:
- One keyword per placement. JOIN-WINDOW, JOIN-RECEIPT… and you'll know which sign works.
- Say what they’re signing up for right next to the code: how often you'll text and how to stop (usually by replying STOP).
- Check the rules where you send. Marketing texts need consent in most countries (in the US, for example, under the TCPA). The QR code makes signing up easy; it doesn't replace consent.
Questions people ask
No. The message opens ready to go, and the person taps send.
Yes. Apple lists the SMSTO format as supported by the iPhone camera, including the pre-filled message. Android scanners support it too.
The person sending it, at their normal rate. Most plans include texts, but international numbers and multi-part messages can cost more.
Your message has a character outside the basic SMS alphabet — an emoji, a curly quote or a letter like ả or ơ. The whole message then uses Unicode, which fits 70 characters per text.
Yes. It will just open a new text to your number.
No. Everything happens in your browser.