SMS QR Code Generator

Prepare an SMS draft with a recipient and optional message. The code shares the draft details; the person scanning decides whether to send the text.

Enter your content

Include the country code and omit the local leading zero. Use a number registered with WhatsApp.

Enter at least a first or last name. All other details are optional.

Your QR code is generated directly in your browser.

Make it yours

Optional

Choose a starting style, or open the settings below.

You can adjust any preset below.

Colours
Shapes
Logo
20%
Advanced settings

With this enabled, the recommended border takes precedence over a smaller custom margin.

Print assistant

Width includes the clear border. A 0.4 mm module is a practical starting target for close-up scanning; distance, paper, and cameras affect results.

Enter valid content to calculate print sizes.

    For SVG, set this width in your design or print app. Always test the actual printed size.

    Printable signs

    Templates change the wording, not the QR content. QR width is set in the Print assistant. Wi-Fi passwords are not printed as text.

    Generate a QR code to preview your sign.

    Your QR code Enter content to generate a QR code
    Waiting for valid content

    Checks run locally in your browser.

    Read the automatic check result, then test the exported image and its intended action with a phone. Ordinary image downloads can remain available when a check fails.

    Download QR code

    Free PNG and SVG downloads · No account required

    Generated directly in your browser.

    File extensions are added automatically.

    PNG downloads include the DPI chosen in Print assistant. Use Download print PNG to match your chosen physical width.

    SVG is recommended for printing because it can be scaled without losing quality. These are static QR codes: their encoded content cannot be changed after downloading. The QR code itself has no expiry; linked content must remain available.

    Guide checked by eToolPlus · 16 October 2026

    Review a real draft before distributing the sign

    For a booking enquiry, leave space for the visitor to supply a date rather than implying the message has confirmed a booking. Test whether the intended phones preserve the message body as well as the recipient; support differs across SMS handlers.

    If a device repeatedly ignores the body, a recipient-only code plus printed instructions can be a clearer fallback. Keep the number readable and state what responses the service actually offers. The generator does not send messages or record consent on behalf of the visitor.

    Use the recipient and message fields separately

    1. Enter the recipient telephone number, preferably with a country code when your audience may be international.
    2. Write an optional message in the separate field. Keep it short enough for the visitor to review and edit.
    3. Choose a readable design and wait for Payload verified. Long messages and large logos can make the image harder to decode.
    4. Scan the downloaded image and confirm both the recipient and the draft message in the intended messaging app.

    Example: a booking enquiry

    A useful draft could say I would like to ask about availability on:, leaving the visitor to supply a date. The generator combines the recipient with an sms link and an encoded message body. Punctuation, spaces, and Unicode characters are handled by the form, so you do not need to add URI syntax yourself.

    An SMS draft is not a booking confirmation, an opt-in record, or proof that a message was sent. Avoid wording that implies a scan alone reserves a service or signs someone up to marketing.

    Check messaging-app compatibility

    SMS-link handling varies across devices, operating systems, and readers. A phone may fill the recipient but omit a body, ask which app to use, or display the underlying link. The local scan check reads the QR image; it does not exercise the phone’s messaging app.

    Test representative iPhone and Android devices before a print run. If prefilling is inconsistent for your audience, use a recipient-only code or link to a web contact page with clear alternatives. Message delivery and any charges remain controlled by the phone service.

    Separate SMS from other contact actions

    A phone code provides a call target. A WhatsApp code opens a chat link and needs a number registered with that service. This SMS tool does neither of those jobs.

    Do not embed a private one-time code or confidential account information in a publicly displayed draft. The recipient and message can be read by anyone who has the QR image. Updating either field requires replacing the static image and any printed copies.

    Questions about this tool

    Can I leave the message empty?

    Yes. The recipient number is required; the message is optional. A recipient-only draft is useful when the visitor should compose their own enquiry.

    Are messages sent through eToolPlus?

    No. Generation happens in the browser. If the visitor sends a draft, their messaging app and service handle it.

    Why does the preview pass but the message field stay empty on a phone?

    The payload may be correct while that phone handles the sms link differently. Try a different reader or use the recipient-only option; a decoder check cannot certify app-specific behaviour.