WhatsApp QR Code Generator

Generate a QR code that opens a WhatsApp chat with a pre-filled message. Great for customer support and marketing. Free, no signup.

The click-to-chat format, and the one rule that breaks it

A WhatsApp QR code encodes a wa.me link — WhatsApp's official click-to-chat URL:

https://wa.me/442079460018?text=Hi%2C%20I%27d%20like%20to%20book%20a%20table

The formatting rule for the number is strict and unforgiving: country code followed by the number, with no plus sign, no spaces, no dashes, no brackets, and no leading zero.

Number as normally written In a wa.me link
+44 20 7946 0018 442079460018
020 7946 0018 (UK) 442079460018
+1 (555) 019-2837 15550192837
0912 345 678 (PH, national) 63912345678

The leading zero is the trap. Many countries write domestic numbers with a leading 0 that is dropped when dialling internationally. Including it produces a link to a number that does not exist, and WhatsApp responds with "the phone number shared via url is invalid" — a message that gives the user no idea whose fault it is.

The + is also not optional-but-harmless; it must be omitted. https://wa.me/+442079460018 fails.

The pre-filled message is the actual value

Without the ?text= parameter, a WhatsApp code just opens an empty chat. That is fine, and it is also most of what people lose by not bothering with the parameter.

A pre-filled message does three useful things:

  1. It removes the blank-page problem. A customer who scans a code on a table and sees an empty chat window has to invent an opening line. Many will not bother.
  2. It gives you context for free. Hi, I'd like to order from table 6 tells you where they are without asking. Enquiry about the 2-bed flat on Mill Street tells you which listing.
  3. It gives you attribution. Different codes on different materials with different pre-filled text let you tell which placement produced the conversation.

The text must be percent-encoded — spaces as %20, apostrophes as %27, ampersands as %26, line breaks as %0A. The generator above handles this.

Keep it short. Every character of the message inflates the QR code, and a long pre-filled message reads as scripted rather than helpful. One line is right.

Density, and where the characters go

https://wa.me/442079460018 is 26 characters — a version 2 or 3 code, chunky and forgiving. The message is what costs you:

Payload Length Version at level M
Number only 26 2
Plus a 20-character message 60 4
Plus a 60-character message 130 7

Percent-encoding roughly triples the cost of every space, so a 40-character message can add 60 characters to the payload. If you need a longer opening message and a small code, put a short redirect on your own domain in front of it.

What happens when someone scans it

WhatsApp installed: the app opens directly on a chat with your number, message pre-filled, waiting for the user to press send. Nothing is sent automatically.

WhatsApp not installed: the wa.me link opens in the browser and shows a page inviting them to install WhatsApp. This is a dead end for that user, which is worth remembering before you make a WhatsApp code your only contact route.

Desktop scan: the link opens WhatsApp Web or the desktop app if the user has linked their phone; otherwise it shows the install page.

The number does not need to be saved. This is the main advantage over telling someone to "message us on WhatsApp" — normally starting a WhatsApp conversation requires having the contact in your address book first. A wa.me link bypasses that entirely.

WhatsApp's own QR codes are a different thing

WhatsApp generates two kinds of QR code natively, and neither is what this tool makes:

A generated wa.me code is more useful for printed material precisely because it works from the phone's camera, carries a message, and can be placed anywhere.

WhatsApp Business, and why it changes the calculus

If you are putting a WhatsApp code on customer-facing material, use a WhatsApp Business account rather than a personal one. It is free, takes minutes to set up, and adds:

The alternative is your personal number appearing on printed material in perpetuity, which is difficult to undo.

The 24-hour rule and consent

If you scale up to the WhatsApp Business Platform (the API tier), the messaging rules become strict: outside a 24-hour window from the customer's last message, you can only send pre-approved template messages, and marketing templates require explicit opt-in.

Even on the free Business app, the ordinary consent rules apply. A customer messaging you about an order has not consented to promotional broadcasts. WhatsApp enforces this through account restrictions, and users report unwanted business messages readily — the enforcement is real and account bans do happen.

Say what the code is for on the printed material next to it. "Message us to book" sets an expectation that "Scan here" does not.

Where these work well

Frequently asked questions

Do I need WhatsApp Business for this?

No, a personal account works. But for customer-facing material, WhatsApp Business is free and adds a business profile, automated greeting and away messages, and quick replies — and it keeps your personal number off printed material you cannot recall.

Why does my link say the phone number is invalid?

Almost always a leading zero or a plus sign. The format is country code plus number with nothing else — 442079460018, not +442079460018 and not 4402079460018. Spaces, dashes and brackets also break it.

Does the message send automatically?

No. The chat opens with the text pre-filled and the user has to press send. This is deliberate — it means the code cannot be used to make someone message you without their knowledge.

What if the person does not have WhatsApp installed?

The link opens in their browser and shows a page prompting them to install WhatsApp. That is a dead end for that user, so do not make a WhatsApp code your only contact route on printed material — pair it with a phone number or email.

Can the customer see my number?

Yes. Starting the chat reveals your number to them, exactly as if they had it saved. This is the main practical reason to use a business number rather than a personal one on anything public.

Is this the same as the QR code in WhatsApp Web?

No, and the distinction matters. The WhatsApp Web code is a session login that grants full access to your account. Never print or share it. A wa.me code simply opens a chat with your number and is safe to publish.

Is my number sent to your servers?

No. The link is assembled and the image rendered in your browser. Nothing you type into the form is transmitted to us.