QR Code Forever

SMS QR code generator

Use this SMS QR code generator to make a code that opens the phone's messaging app with your number and a ready-written text, ideal for opt-in keywords and support requests. The code is static, so it never expires and nothing routes through a server. It is free with no sign-up, made entirely in your browser, and verified by a real scanner before you download it.

Content: SMS

Style
Style preset
Contrast 21:1

PNG, JPG or SVG up to 2 MB. It stays on your device.

Your codes on this device

Off by default. When on, each downloaded code (type, content, style) is saved in this browser only, never uploaded. You can delete them at any time.

How to make an SMS QR code

  1. Enter the receiving Phone number in international format: a plus sign, the country code and the number, digits only, for example +14155550132.
  2. Type the Message the person will send, such as JOIN or Hi, I would like a quote for. Keep it to a line or two.
  3. Check the capacity line under the preview; a number and a short keyword make a version 2 or 3 code.
  4. Optionally open the Style panel for a Style preset, colours or a logo.
  5. Wait for the badge to read Verified: scans as SMS, then choose Download PNG, Download SVG or Download PDF.

SMS QR code generator details

An SMS QR code contains a short string in the SMSTO: format: SMSTO:+14155550132:JOIN. The part after the prefix is the phone number; the part after the second colon is the message text. The iPhone camera and Android both recognise it, show a banner such as “Send message to +1 415 555 0132”, and open the Messages app with the number and text already in place. The person can change the text, then taps send. Nothing goes out without that tap, and the code itself contacts no server.

The number

Use the full international form: a plus sign, the country code and the national number without its leading trunk zero, digits only. +447911123456 works for a UK mobile scanned anywhere in the world; 07911 123456 works only on phones registered in the UK, and some scanners refuse a number with spaces. The generator writes the number exactly as typed into the SMSTO string, so the international form is your job, as it is for a phone number QR code.

The message

The text after the second colon is stored as plain UTF-8, including spaces, punctuation and line breaks; nothing is percent-encoded, which keeps the code small. One SMS segment is 160 Latin characters, or 70 if the message includes an emoji or a non-Latin letter, so keep the pre-filled text short. A keyword and a hint is the sweet spot: JOIN, MENU, or Quote request for:. SMSTO:+14155550132:JOIN is 23 bytes, a version 2 code (25 × 25 modules) at error correction M that prints cleanly at 2 cm.

Uses

  • Opt-in lists. A poster or receipt that pre-fills the keyword your SMS provider expects, so sign-up is one tap and the keyword is never mistyped.
  • Support and callbacks. A sticker on a machine, a boiler or a rental bike that pre-fills “Problem with unit 14:” so the reporter only adds a sentence.
  • Orders and enquiries. A window sign for a shop that takes orders by text, or a tradesperson’s van with “Please quote me for:”.

Common mistakes

  • A local number. Visitors from abroad cannot send to a number without a country code.
  • A long message. Anything over a couple of lines makes a dense code and a draft that people delete rather than read.
  • Expecting a reply system. The code only opens a draft; auto-replies and list management come from your SMS provider.
  • Not testing. Scan the downloaded file with an iPhone and an Android phone and send one real message before printing; the QR code reader shows the decoded number and text.

This code never expires

The phone number and message are stored inside the code itself, so it keeps working for as long as the number is in service. This is a static QR code: the data is written into the pattern, so scanning it needs no server, no account and no subscription. There is nothing to renew and no redirect that can be switched off, which is why a code made here keeps working for as long as the printed copy exists. The trade-off is honest: a static code cannot be edited after printing and does not count scans. If you need either, encode a link to a page you control. Read how static and dynamic codes differ, and if a code you already have has stopped working, see why QR codes expire.

Styling, formats and print size

Every code can be styled in the Style panel: six dot shapes, corner shapes, solid or gradient colours, a transparent background, a quiet zone of 0–8 modules, and your own logo up to 30 percent of the width. A contrast checker warns below 3:1 and blocks downloads below 1.5:1, and after each change the preview is decoded again so the badge tells you whether the styled code still scans.

OutputBest forNotes
PNGWeb, documents, quick prints256 to 4096 px; transparent background supported
SVGDesigners and print shopsVector, scales without limit; logo embedded
PDFPrinting at an exact sizeVector modules at a chosen width in mm or inches, optional caption
JPGPlatforms that reject PNGWhite background; no transparency
EPSLegacy print workflowsVector from the module matrix, no logo
Copy / PrintPasting into a document; a quick paper testPNG to the clipboard; print view with caption

Print size: as a rule of thumb the code should be at least one tenth of the scanning distance wide, with the quiet zone included.

Scan distanceMinimum width
0.5 m (arm's length)5 cm
1 m10 cm
2 m20 cm
5 m50 cm

A number plus a short keyword is a 25- or 29-module code that prints well at 2–3 cm on a receipt or sticker and 10 cm on a poster; use the SVG or PDF for anything a print shop produces.

The QR code size guide has a calculator for module size, DPI and distance.

Frequently asked questions

Does an SMS QR code expire?

No. The number and message are encoded as text in the SMSTO: format, and the phone reads them without any server. It stops being useful only if the number goes out of service or you change the keyword your SMS system expects; then you make a new code. There is nothing to renew.

Does the phone send the text automatically?

No, and no QR code can. Scanning shows a banner; tapping it opens the Messages app with the number and text filled in, and the person still has to press send. This is deliberate on both iPhone and Android, and it is why people are comfortable scanning.

What format does this SMS QR code generator use?

It writes SMSTO:number:message, the format that phone cameras and scanner apps have supported longest. The number is stored exactly as typed, and the message is plain UTF-8 text after the second colon, so colons inside your message are fine. Turn on Show encoded text to see the exact result.

Why should the number include a country code?

A number that starts with a plus and a country code, written as +33612345678, works for anyone: locals, visitors and people roaming abroad. A national number like 06 12 34 56 78 works only on phones registered in the same country, and some scanners will not offer to message it at all.

How long can the message be?

Keep it under 160 characters, and ideally under 40. One SMS segment is 160 Latin characters, or 70 if the text has an emoji or accented letters; beyond that the phone splits it into several messages. A short keyword also keeps the code small enough to print on a sticker or a receipt.

Can I use an SMS QR code for marketing opt-ins?

Yes. Point it at the number your SMS platform gives you and pre-fill the keyword it expects, such as JOIN. The person taps send and the platform handles the reply and the consent record. Make sure the printed material states what they are signing up for, as most countries require it.

Will it work with WhatsApp or iMessage?

It opens the phone's default SMS app. On an iPhone that is Messages, which sends the text as an SMS to the number; it does not start a WhatsApp chat. For WhatsApp, use the WhatsApp QR code page, which encodes a wa.me link instead; one code cannot do both.

Can I add a logo to an SMS code?

Yes, from the Style panel. The payload is small, so even with a logo, which raises error correction to H, the code stays around 29 to 33 modules and prints cleanly at 3 cm. Keep the logo under 30 percent of the width and wait for the verification badge to confirm the styled code decodes.

Last updated . QR Code is a registered trademark of DENSO WAVE INCORPORATED. Open-source engines are listed on the how it works page.