Free tool · PNG and SVG · Runs in your browser

Text message QR code generator

No uploadRuns in your browserReviewed October 9, 2026

Short answer

Enter a phone number with its country code and an optional message, and the tool writes an sms: link into the code. The ZXing wiki says readers should open a new text message ready to send. A number alone is Version 1 (21 × 21); with a 100 character message it is Version 7 (45 × 45). Whether the message is pre-filled depends on the phone's scanner, so test it on the phones you care about. Nothing is uploaded.

Enter the phone number with its country code.

Nothing is uploaded: the code is drawn in your browser. Codes do not expire and carry no tracking.

Key takeaways

  • The ZXing wiki says to encode a number or short code as an sms: URI, for example sms:12345, and points to RFC 5724. It notes that SMSTO: links have been seen in use but it does not know an official specification for them.
  • The tool writes sms:<number>?body=<message>. For +1 415 555 0132 and the message "Running late, see you soon" that is sms:+14155550132?body=Running%20late%2C%20see%20you%20soon (58 characters, Version 4 (33 × 33)).
  • Size grows with the message: no message is Version 1 (21 × 21), 40 characters Version 4 (33 × 33), 100 characters Version 7 (45 × 45) and 400 characters Version 16 (81 × 81).
  • For a code that only dials, a tel: link is smaller: tel:+14155550132 is 16 characters and Version 1 (21 × 21).
  • We cannot promise every phone pre-fills the message. The format is standard; support varies. Test first.

What the code contains

A text message code is an sms: link. A message is added as a body parameter and percent-encoded, so a space is written as %20.

LinkWhat it does
sms:12345Opens a new text message to 12345 (ZXing wiki, RFC 5724)
sms:+14155550132A number with its country code
sms:+14155550132?body=Hello%20thereThe same, with a message ready
SMSTO:number:messageSeen in use, no official specification found by the ZXing wiki

Text message links, from the ZXing wiki read 2026-10-09 and the tool.

Measured: how big the code gets

Measured with the qrcode library the tool uses and the jsQR decoder; the method is on the QR code generator page. One decoder is not every phone, so test a print on yours.

The number is +1 415 555 0132 and the message is a run of letters of the length shown.

Text message codes at error correction level M.
MessageLink lengthSize
No message16Version 1 (21 × 21)
40 characters62Version 4 (33 × 33)
100 characters122Version 7 (45 × 45)
200 characters222Version 11 (61 × 61)
400 characters422Version 16 (81 × 81)

The example with a message decoded back to exactly the text we built.

Tips

  • Write the number with its country code.
  • Keep the message to a line. Each character makes the code denser.
  • Test the code on both an iPhone and an Android phone before you print it.
  • A code that only needs to start a call is smaller with a tel: link; the generator has a phone number option for that.

Free tools:QR code generatorWi-Fi QR codeContact (vCard) QR codeWhatsApp QR codeEmail QR codeLocation QR code

Questions people ask

How do I make a QR code that sends a text?

Enter the number and an optional message, then download the code. Scanning it opens a new text message.

Will the message be pre-filled on every phone?

The format is standard, but support varies by phone and scanner. Test on the phones you care about.

What is the difference between sms: and SMSTO:?

The ZXing wiki points to RFC 5724 for sms: and says it has seen SMSTO: in use without finding an official specification.

How do I make a code that calls a number?

Use the phone number option. It writes a tel: link, 16 characters for our example.

Why is my code dense?

A long message adds many characters: 400 characters made a 81 × 81 code.

Is my number uploaded?

No. The code is drawn in your browser.

Related

Sources and how we checked

  1. ZXing wiki: Barcode Contents (read 2026-10-09)
  2. Denso Wave: Information capacity and versions of the QR Code (read 2026-10-09)
  3. Denso Wave: Error correction feature (read 2026-10-09)

Reviewed October 9, 2026. The measurements generated codes with the same library the tool uses and read them back with an independent decoder (jsQR). The script and the results are in data/seo/hub/evidence/2026-10-09/qr.