Skip to content

SMS QR Code Generator

Prepare a text-message composer without uploading the recipient or draft to a rendering service.

Private by design

Generated in your browser

Scalable SVG download

High-resolution PNG download

Build your SMS code

Fields stay on this device while the QR image is generated.

QR payload details

Use +, country code, and subscriber number.

QR appearance

Higher recovery adds more modules. Medium suits most clean prints.

Choose the square pixel size for PNG and the preview viewport.

Four modules is the conservative print default.

Color contrast is 19.9:1. Print testing is still required.

Preview

This preview matches the current downloads.

Generating the initial preview…

Payload preview

The encoded payload will appear here.

How to make this QR code dependable

Practical guidance for payload accuracy, privacy, compatibility, and real-world print testing.

Start a text message with an RFC-based SMS link

An SMS QR code contains an sms URI with an international recipient and an optional prefilled message. On a compatible phone, scanning opens the messaging composer so the user can review, edit, and send. It works well for opt-in keywords, service requests, event check-ins, simple feedback, and signs where a phone number would otherwise be mistyped. The code never sends the message by itself.

The format follows RFC 5724 and uses the global telephone notation described by RFC 3966. Enter a plus sign, country code, and subscriber number without a local trunk prefix. The message is encoded as a single body field using UTF-8 percent encoding, so punctuation and non-English characters remain data rather than URI controls.

Use a number that can actually receive replies

Confirm that the destination accepts SMS from the countries and carriers your audience uses. Landlines, voice-only numbers, short codes, toll-free numbers, and virtual numbers may have special restrictions. For a business workflow, use a managed number with clear ownership, retention policy, and coverage outside office hours. Do not encode a staff member’s personal mobile number on permanent public material without explicit agreement.

International form improves portability, but it does not remove carrier charges or roaming rules. Place ordinary pricing language near campaigns that may incur a charge, and never imply that scanning itself completes an opt-in. The user should see the draft and choose to send it; your receiving system must separately handle consent and confirmation according to applicable rules.

Keep the prepared message concise

Prefill only the information needed to route the request, such as “INFO A14” or “I would like an accessibility callback.” Leave room for the sender to add context. Long bodies create denser QR symbols and may span multiple SMS segments after sending. Characters outside the GSM alphabet can reduce a segment’s capacity because the messaging system may use a different encoding.

A QR generator cannot predict how a carrier will count, price, filter, or deliver the final text. If your workflow relies on an exact keyword, test capitalization and surrounding whitespace with the receiving automation. Avoid prefilled legal acceptance, payment authorization, or sensitive personal details. A secure web form is better when the response needs structured fields or confidentiality.

Know the limits of device support

Phone cameras and QR apps vary in how they pass an sms URI to the operating system. Some preserve the body exactly; others open only the recipient or ask which messaging app to use. Managed devices may block SMS, and tablets may not have a sending account. Print the telephone number and keyword next to the symbol so the instruction remains usable when automatic composition fails.

This generator intentionally supports one recipient. Although the RFC permits lists, a public code that addresses several people can surprise the sender and expose numbers in a group conversation. Route a single managed number to the right team on the receiving side instead of embedding a distribution list.

Protect personal information

The number and draft are processed locally and are not uploaded to create the image. They are not encrypted inside the QR code. Anyone who sees a printed or shared copy can decode both fields, so keep account numbers, health information, access codes, and case details out of the prepared message. Let the sender add necessary context after the trusted messaging app opens.

Inbound messages create records on the sender’s device, carrier systems, and your receiving platform. Publish a privacy notice when the campaign collects personal data, explain expected replies, and offer another contact route. Remove or replace printed material when the number changes; reassigned telephone numbers make stale QR codes especially risky.

Print, scan, send, and verify

Download an SVG for designed print pieces or a sufficiently large PNG for documents. Preserve the quiet zone, use a solid high-contrast color pair, and test at the final physical size. Scan from representative distances on both iOS and Android. Check that the displayed destination number is correct before sending and that message punctuation survives the handoff.

Complete the test by sending from several carriers if the campaign matters operationally. Verify receipt, automated keyword handling, opt-in confirmation, and a human escalation path. Repeat after any vendor, number, or workflow change. A code that scans perfectly but reaches an unmonitored inbox is still a failed experience.

Example: Information keyword

This sample shows the exact kind of text encoded by this route.

sms:+14155552671?body=INFO%20A14

Questions people ask

Will the text be sent automatically?

No. The sms URI opens a composer when supported; the scanner reviews and sends the message.

Why must I use a country code?

Global notation is the most portable form and avoids relying on the scanner’s local dialing context.

Can this guarantee one SMS segment?

No. Segment length depends on the final characters, device encoding, and carrier behavior.