WhatsApp QR Code Generator

The code encodes a wa.me click-to-chat link, so scanning it opens WhatsApp on a conversation with you — the scanner never has to save your number first. Add a pre-filled first message and the conversation starts itself.

Last updated:

How a WhatsApp QR code opens a chat

The code encodes a wa.me link — WhatsApp's official click-to-chat format. Scanning it opens WhatsApp on a conversation with your number, with an optional message already typed in the box. The scanner does not need your number in their contacts, and you do not need WhatsApp Business, an API account or a paid plan.

The number must be in full international format with no plus sign, no spaces, no brackets and no leading zeros — a UK mobile written as 07700 900123 has to become 447700900123. This is the mistake behind almost every WhatsApp code that opens the app and then says the number is invalid. Type it however you like here; the digits are normalised before encoding.

This is not the same thing as the QR code inside WhatsApp itself. That one is for linking WhatsApp Web to your phone or for adding a contact, it rotates, and it is tied to your session. A click-to-chat code is a permanent public link that anyone can scan to message you.

The pre-filled message is the whole trick

A blank chat window puts the work on the customer: they have to decide what to say and how to introduce themselves. A pre-filled first message removes that hesitation and, just as usefully, tells you where the scan came from. Use a different pre-filled text per placement — Hi, I saw the window display and Hi, I scanned the menu card — and your inbox becomes its own attribution report without any tracking at all.

  • Shop windows and A-boards — enquiries outside opening hours
  • Menus and table cards — orders and bookings without an app
  • Product labels and receipts — support that feels like texting a friend
  • Delivery vehicles and trade signage — a quote request in one tap
  • Business cards — the modern version of write your number down

These are static QR codes — what that means for you

The code this page produces encodes your data directly in the pattern of black and white squares. Nothing is stored on our servers, no short link sits in the middle, and no account is involved. A phone camera reads the squares, decodes the text and acts on it. That is why the generator keeps working with your browser offline, and why there is no scan limit, no expiry date and no monthly fee.

The trade-off is that a static code cannot be edited after it is printed. The destination is baked into the image. If you print 5,000 flyers pointing at example.com/summer and then move that page, every flyer is dead. Dynamic codes — the ones behind most paid QR services — encode a short redirect URL instead, so the owner can repoint it later and count scans. They also stop working the day the service that hosts the redirect goes away or the subscription lapses, which is a real risk for anything meant to outlive a marketing budget.

A practical middle ground costs nothing: point the static code at a URL you control and can redirect yourself, such as yoursite.com/menu. You keep the free, permanent, no-dependency code, and you keep the ability to change where it lands.

Error correction levels, and why the logo option needs H

Every QR code carries redundant data so it still decodes when part of it is dirty, creased, curved around a bottle or partly covered. The QR standard defines four levels: L recovers about 7% of the code, M about 15%, Q about 25% and H about 30%. Higher levels pack the same message into more modules, so the pattern gets denser at the same physical size.

The generator defaults to H. That is deliberate, because H is what makes a centre logo safe: the logo covers modules, and the recovery data is what lets the scanner reconstruct them. If you upload a logo, keep the level at H and keep the logo at or below roughly 20% of the code's width — the size slider is capped at 30% for exactly this reason. Drop to L with a logo on top and you are relying on luck.

If there is no logo and the code will be shown on a clean screen, L or M produces a visibly simpler pattern that scans faster from a distance. Use the lower levels for screens, H for anything printed, laminated, stuck on glass or wrapped around a curved surface.

Sizing, printing and testing before you commit

The rule of thumb scanners have used for years is a 10:1 ratio — the code should be roughly one tenth of the distance it will be scanned from. A code read at arm's length (about 30 cm) works at 3 cm across; a poster read from 3 m needs about 30 cm. Below about 2 cm printed, cheap phone cameras start to struggle regardless of resolution.

Download the SVG rather than the PNG for anything going to print. SVG is vector, so it stays crisp at any size a printer can produce, and it is what design software expects. The PNG is the right choice for slides, emails and social posts where a fixed pixel size is what you want.

Keep the quiet zone — the empty white margin around the pattern is part of the specification, not decoration, and cropping it is the single most common reason a printed code fails. Keep the dark modules dark on a light background; inverted codes are read by fewer scanners than people assume. Then test the real artefact, not the screen: print it at final size, scan it with an iPhone and an Android phone, in the light the code will actually live in.

Frequently Asked Questions

Do I need WhatsApp Business to use this?

No. Click-to-chat works with any WhatsApp account, personal or business. WhatsApp Business adds catalogues, labels and automated replies, but the code itself works either way.

What number format does it need?

Full international format with the country code and no plus sign, spaces or leading zero — for example 447700900123 or 14155550123. This tool strips the formatting for you, but the country code has to be there or the link will not resolve.

Does the message send automatically?

No. It appears typed in the message box and the user presses send. They can edit or delete it first.

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

No. The one inside WhatsApp links a web session or shares a contact and it changes over time. This is a permanent click-to-chat link that anyone can scan to start a conversation with you.

What if the person scanning does not have WhatsApp?

The link opens WhatsApp's web page, which prompts them to install the app. If your audience is mixed, an SMS or phone code is the safer choice.

Can I track how many people scan it?

Not through the code, since nothing is routed through a server. The practical workaround is a different pre-filled message per placement, so the first line of every incoming chat tells you where it came from.

Does it work with WhatsApp Web?

Yes. Scanned on a desktop, the link opens web.whatsapp.com with the chat ready, provided the browser session is already linked to a phone.

Will the code stop working if I change my number?

Yes — the number is baked into the code. If your number might change, encode a URL on your own domain that redirects to the wa.me link so you can repoint it without reprinting.

Related free tools

More free utility tools