FREE · NO SIGNUP · NEVER EXPIRES
SMS QR code generator
An SMS QR code opens a text message with your number and message already filled in. One scan, one tap on send — no typing, no misdialed digits. Enter the phone number and your pre-filled text below, then download a print-ready code. Free, no account, and it never expires.
Style
Sample preview — fill the form to generate yours
01
Enter the phone number
Use the full international format, like +14155551234. The plus sign and country code make the code work for visitors and travelers, not just locals.
02
Write the pre-filled message
Keep it short and specific: a contest keyword like WIN, an opt-in word like JOIN, or a request like "Table 12 needs service." The scanner can edit it before sending.
03
Style, download, and test
Logos, colors, and dot styles are free. Download SVG for print or PNG up to 4096px. Scan it once with your own phone before printing a thousand flyers.
Worth knowing
Tell people what the text costs
Scanning is free; sending the text uses the scanner's messaging plan. A small "standard rates apply" line keeps contest and opt-in campaigns honest — and in many countries, legal.
Make the keyword do the work
If you run multiple campaigns to one number, give each code a different keyword: COFFEE on the cafe poster, PARK on the flyer. The keyword tells you which placement actually got scanned.
The message is a draft, not a send
Phones never send automatically. The scan opens the messaging app with everything filled in, and the person still taps send. Nobody texts anything without choosing to.
If your link will change
A static SMS code locks in the number and message at print time. If you might retire the shortcode, change the keyword, or want to count scans per poster, a dynamic QR code adds an editable link you can re-point after printing, plus scan stats by day, country, and device. Two are free. And per the Qranite policy, they keep redirecting even if you stop paying.
About dynamic codesCommon questions
Does an SMS QR code expire?
Not here. The code contains the phone number and message directly — nothing depends on our servers. It works as long as the phone number does. Generators that "expire" codes are expiring a redirect link inside dynamic codes, not the QR image.
Does scanning the code send the text automatically?
No. The scan opens the phone's messaging app with the number and message pre-filled. The person reviews it and taps send themselves. No QR code can send a text without the user's action.
What format does an SMS QR code use?
Qranite uses the SMSTO format — SMSTO:number:message — which both iPhone and Android cameras understand. Older SMS: syntax is read inconsistently across platforms, so we don't use it.
Can I use this for contest entries or opt-in keywords?
Yes. Pre-fill the keyword your SMS platform expects, like "JOIN" or "WIN", so entries arrive correctly spelled. Just disclose message rates and follow your local opt-in rules — the code fills in the text, the law still applies to you.
Can I change the number or message after printing?
Not in a static code — the data is baked into the image, which is also why it can't expire. If the number or keyword might change, use a [dynamic code](/dynamic-qr-codes) and re-point it later. Otherwise, a fresh static code costs nothing.