QR Decode
Decode a QR

Private, static, no sign-up

WhatsApp QR code generator

Be the first to rate this page.

Skip the number exchange: one scan opens a WhatsApp chat with you, message already drafted, and the customer just presses Send.

Customize design

Design

No logo selected.

Processed locally

Your input stays in this browser.

Ready to verify

Review the result before saving or printing.

No expiry

Static codes keep working without a subscription.

Checking locally…

800 × 800 px · PNG size calculated on download · true vector SVG

The wa.me payload

The code contains WhatsApp's official click-to-chat link: https://wa.me/ followed by the phone number, with an optional text parameter carrying a percent-encoded draft message.

A greeting to a US number encodes as:

Because the payload is an ordinary HTTPS link, any camera that reads QR codes can handle it — the WhatsApp-specific behaviour begins only after the link opens.

Exact payload for the form example
https://wa.me/12025550123?text=Hello%20%26%20welcome

Formatting the number — the one strict rule

wa.me wants digits only: country code first, then the national number, with no plus sign, no punctuation, and no leading zeros or trunk prefix. A UK number written locally as 07700 900123 becomes 447700900123.

This generator strips punctuation for you, but it cannot know whether the number actually has a WhatsApp account — no generator can. The only real validation is scanning the finished code and watching your own chat open.

What happens on the scanning phone

With WhatsApp installed, the link opens the chat with your number, draft message in the input field, and waits — sending always takes a deliberate tap. Without the app, the phone's browser lands on a WhatsApp page offering the app or, on desktop, WhatsApp Web.

Because the first hop is a normal link, the camera shows wa.me in its scan banner rather than your name — that is expected, and one reason to print 'Chat with us on WhatsApp' next to the code so the banner has context.

Nothing is sent, subscribed, or shared automatically, and you learn about the scan only if the person actually messages you. That is the deal with a static code: no analytics, no middleman, nothing to expire.

Not the same as WhatsApp's in-app QR code

WhatsApp itself shows a personal QR code in its settings, and scanning that one inside WhatsApp adds you as a contact. The wa.me code made here does something different: it opens a chat, works from any camera app without entering WhatsApp's scanner, and can carry a prefilled message.

For posters, packaging, vans and storefronts, the wa.me version is what you want — the customer's camera handles it directly, and the conversation starts with words you chose.

Draft messages that do their job

Prefill the context the customer would otherwise have to type: 'Hi, I'm interested in the corner sofa' outperforms a blank chat, and a reference word ('Poster', an order number, a branch name) tells you which placement the scan came from — the closest a static code gets to analytics.

Keep it short. The message is percent-encoded into the payload, so a paragraph makes a visibly denser code, and the person scanning can edit or delete the draft anyway. Test the exported code on both iOS and Android before it ships on five hundred flyers.

Business numbers, groups, and channels

The wa.me mechanics are identical for WhatsApp Business: encode the business line's full international number and the chat opens against the business profile, greeting messages and all. Nothing special is required on the code side.

A group is a different animal. Group invites use their own chat.whatsapp.com links generated inside the app by an admin — a wa.me code always targets one number. If you want a poster that fills a group, copy the invite link from WhatsApp and encode it with the URL generator; just remember an admin can revoke that link, which kills every print carrying it.

The same applies to channels and communities: they are links WhatsApp hands you, not numbers, so they ride in a URL code rather than this one.

Frequently asked questions

Can the QR code include a WhatsApp message?

Yes. The draft travels URL-encoded in the text parameter and appears in the chat input, fully editable, when the link opens.

Does scanning send the message?

No. It opens the conversation with the draft in place; sending requires the person to press Send — or they can rewrite the text first.

Does a WhatsApp QR code expire?

The code and its wa.me link are static and never expire. The link stops being useful only if the phone number changes or the WhatsApp account closes.

What if the person doesn't have WhatsApp?

The link opens in the browser on a WhatsApp page that offers the app, or WhatsApp Web on desktop. No chat happens until WhatsApp is available on that device.

Can the code open a WhatsApp group?

Not this one — wa.me targets a single number. Copy the group's invite link from inside WhatsApp and encode it with the URL generator, keeping in mind an admin can revoke that link after printing.

Make the chat link a precise international address

The generated form is an HTTPS link such as `https://wa.me/12025550123?text=Hello%20%26%20welcome`. Its path contains digits only: no leading plus sign, spaces, brackets, trunk prefix, or extension. The query value is URL-encoded, so the ampersand in `Hello & welcome` becomes `%26` rather than starting another parameter. Keep the message short and optional; it is an editable draft, not an instruction that the recipient has already consented to send. Scan the final image and inspect the conversation header before using it on a sign. The number must belong to the intended WhatsApp account, a fact the encoder cannot verify. If the account changes, the printed static code still opens the old destination.

Use a draft for a narrow, consent-based request

A museum desk can use a QR code to start `Hello, I need accessibility information for Saturday.`; a support counter should not prefill a visitor's booking number, medical detail, password, or account-recovery material. Anyone can decode the visible link and read the draft before opening the chat. Test an Android device, an iPhone, and a browser-only fallback where relevant: the result may be an installed-app chat, a web handoff, or a visible link that needs a compatible handler. Put a human-readable contact alternative on the same sign so a person without WhatsApp is not blocked. A WhatsApp QR is not a verification system, ticket scanner, mailing-list opt-in, or analytics endpoint. Its bounded result is one chat address and editable text. If the code opens the correct account but the message is wrong, fix the encoded query; if the printed symbol will not scan, diagnose module size and artwork separately rather than changing the number.

Review the wording as a message the visitor owns

Use neutral wording such as `Hello, I would like opening hours.` rather than text that claims consent, places an order, or exposes a confidential detail. A visitor may edit, erase, or abandon the draft; that is expected behaviour. When a campaign ends, retire the sign if the prefilled wording is no longer accurate. The readable caption should identify the organisation and channel, because a bare green icon or unknown number gives the scanner no reason to trust the handoff. The QR image encodes a link, not the legitimacy of a conversation or the availability of a support team.

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.