SMS QR Code

The payload uses the SMSTO form: a number, and if you add wording, the message that should appear in the composer.

Everything runs in this browser. Text, files and the finished image are not sent to a server.

Pick a look — colours, modules, frame and caption. Works with any content type; your fields stay as they are.

What does a style template change?

It applies colours, module style, a decorative frame and a short caption. Your field values stay as you left them. The frame and caption are drawn outside the quiet zone, so they are not part of the encoded data.

Which download formats include the frame and caption?

PNG, SVG and PDF. EPS stays a classic unframed monochrome code, because that format is meant for simple print workflows.

Does the caption get encoded in the QR code?

No. A scanner reads only the QR modules. The caption is a label on the card, fitted in at most two lines, including in Arabic (right to left).

Can I still change colours after picking a template?

Yes. A template is a starting style. You can adjust colours and download again. Switching templates or type pages does not clear the fields you already filled in.

Can I use a style with a different content type?

Yes. Styles are only looks. A review-card look works on a website URL, Wi-Fi, vCard or any other type. Changing the content type keeps the style you picked.

Customise Colours, shapes, size, border and centre mark. Optional — a style template already sets these.

The image stays in this browser. It is not uploaded. Adding one switches error correction to H.

No code yet Fill in the fields to see a live preview.

How to use it

  1. 1

    Enter the destination number.

  2. 2

    Optionally write the message the visitor should see.

  3. 3

    Create the code and check it opens a composer on your phone.

What it does

The payload uses the SMSTO form: a number, and if you add wording, the message that should appear in the composer.

The number is cleaned of spaces and brackets. If a body is present it is appended after a colon. The result is encoded as SMSTO:number or SMSTO:number:body.

Why it works this way

Android cameras and many third-party scanners understand SMSTO. iOS usually understands it too, but some apps prefer an sms: URI. If a scan only shows the raw text, the number is still visible.

The wording cannot be changed after you print the code, and we cannot tell whether a message was sent.

Keep the pre-written text short. A long body makes a denser symbol.

Examples

number +12025550100, body I am at the desk
SMSTO:+12025550100:I am at the desk
the composer can be pre-filled as well as addressed
a number only
SMSTO:+12025550100
a body is not required

Inputs and outputs

  • a phone number
  • optional message text
  • a static QR symbol whose payload is an SMSTO string

Edge cases

  • blank number is an error
  • some iOS versions open the composer but leave the body blank

Frequently asked questions

Do you send the text for me?

No. The visitor’s own messaging app sends it. We never see the message.

Why SMSTO rather than sms:?

SMSTO is the form most handheld scanners accept when a body is included. The number and wording are still readable as plain text if an app does not recognise it.

Do you store what I type on this page?

No. For a static code, encoding happens in your browser. We do not upload or keep the payload.

Will the printed code still work if this site is offline?

Yes for a static code: the content is in the image. A Dynamic URL code is different — a scan needs this site to redirect, and we do not guarantee that it will stay online.

Do style templates change what a scanner reads?

No. The decorative frame and caption sit outside the quiet zone. Only the QR modules are encoded. Framed styles download as PNG, SVG or PDF; EPS stays an unframed monochrome code.

Related tools

Sources

  • Common QR SMS convention used by major camera apps (SMSTO)