Every business that lives on WhatsApp knows the gap: the chat is one tap away on a screen, and completely unreachable from a shop window, a counter card, a stall banner, or the sticker on a takeout box. The QR code is the bridge — one scan, and the camera opens a chat with your business.
But the QR code built into WhatsApp only does half the job. It encodes your phone number — nothing else. A customer who scans it lands in an empty chat and has to work out what to say. The generator above encodes the full wa.me link instead, pre-filled message included: the chat opens with “Hi! I’d like to book an appointment” already typed, and the customer only has to press send. An empty chat is a blank page; a typed message is a first sentence.
Paste any wa.me link into the field — up to 1,000 characters — and the tool produces two exports: a PNG at 1024 pixels for screens, and an SVG that scales without loss for print. Everything is computed locally in your browser, nothing is transmitted, no account is requested, and there’s no watermark. (Encoding a link that isn’t WhatsApp? The form QR code generator handles any URL.)
First, get your wa.me link
The generator encodes links, not phone numbers — so start with the link itself. Three ways to get one:
- Generate it (recommended). The free WhatsApp link generator builds the link from your number and message, URL-encoding handled: enter
+44 20 1234 5678and “Hi! I’d like to order” and it hands youhttps://wa.me/442012345678?text=Hi!%20I'd%20like%20to%20order. - Build it by hand. The format is
https://wa.me/<number>?text=<message>— country code and digits only (no+, spaces, or dashes), and the message URL-encoded (spaces become%20). - WhatsApp Business short link. The Business app generates a wa.me link for your number under Settings → Business tools → Short link — convenient, but it carries no message. Add one with the generator or by hand before encoding it here.
Whichever route you take: the message is what makes the code worth printing, so don’t skip it.
How the generator works
- Paste your wa.me link into the field at the top of the page. The pattern renders on the spot, computed on your device.
- Export. PNG for screens, slides, and social; SVG for anything ink or vinyl touches.
- Print it right. The craft section below covers size, contrast, and captioning — the parts that decide whether a printed code actually gets scanned.
That’s the whole workflow — under a minute from link to file.
WhatsApp’s built-in QR vs. this generator
The in-app QR isn’t wrong — it’s built for a different moment. Side by side:
| WhatsApp’s built-in QR | This generator | |
|---|---|---|
| What it encodes | Your phone number only | Your full wa.me link — message included |
| Pre-filled message | ✗ — chat opens empty | ✓ — chat opens with the message typed |
| Center logo | WhatsApp logo stamped in the pattern | None — clean pattern only |
| Export | On-screen, app-generated image | PNG (1024px) + print-grade SVG |
| Natural habitat | Screen to screen — “scan my code to save my contact” | Print — counters, windows, packaging, flyers, cards |
Use the built-in code for exchanging contacts in person. Use this one anywhere paper is involved — because in print, the message is everything. A scan that opens “Hi! I’d like to order a cake for Saturday” is a customer; a scan that opens an empty chat is just a tab.
Keep the link short — it decides whether the code scans
The message is baked into the link, and its length determines the pattern’s density. A number-only wa.me link is ~25 characters and produces a sparse pattern readable from meters away. Every word of message adds characters, the pattern gains modules, the modules shrink, and the distance from which a phone can read the code collapses.
Rules of thumb:
| Total link length | Pattern | Prints reliably at |
|---|---|---|
| ~25 characters (number only) | Very sparse | 2 cm and up — reads at a distance |
| ~70–100 characters (short message) | Moderate | 2 × 2 cm in hand, 15–20 cm on a wall |
| 300+ characters | Dense | ~5 cm minimum, close range only |
| ~1,000 characters | Maximum density | Don’t print it |
So: aim for a total link under ~100 characters — which means a message of roughly 8–12 words. “Hi! I’d like to book an appointment” beats “Hello, I saw your Instagram and wanted to ask about prices and availability for next month, thanks” on every axis: it scans from further away, and it’s a better opening line. The tool accepts links up to 1,000 characters, but that ceiling is an input limit, not a print recommendation — a link that long produces a pattern no tent card can carry.
Print it so it actually scans
- Size for the read distance. Hand-held (cards, receipts, packaging) — 2 × 2 cm floor. Wall-mounted — about one-tenth of the viewing distance: read from 2 m, print 20 cm wide.
- Respect the quiet zone. The blank margin around the pattern is load-bearing; codes butted against artwork are the most common scan failure.
- Dark pattern, light ground. Brand colors work if they stay dark — navy, forest green, oxblood — and only after a physical proof.
- Don’t enlarge the PNG. It’s 1024 pixels; anything bigger belongs to the SVG.
- Caption it. “Scan to order” / “Scan to book” / “Scan to rebook” — say what the two seconds buy.
- Proof the real thing. Scan the printed output — not the preview — with one iPhone and one Android, at the actual read distance.
The full field guide — quiet zones, color proofing, placement sizing — lives on the form QR code hub.
Where a WhatsApp QR earns its keep
The generator doesn’t care what you sell — but the surfaces do.
Bakeries and food stalls — the order code
A card at the counter, a sticker on every takeout box, the banner at the market stall. Caption: “Scan to order.” The pre-filled message does the qualifying for you — “Hi! I’d like to order a cake for [date]” arrives with the date already filled in by the customer.
Salons, barbers, and spas — the booking code
The window is the classic: a passer-by decides in seconds, and “scan to book” removes the “call to schedule” loop before it starts. Also earns its place on the mirror, the reception desk, and the printed price list.
On-location stylists — henna, makeup, massage
These businesses work where their clients are: mehndi artists at stalls and weddings, makeup artists on location, massage therapists between studios. The code travels with them — on the stall banner, the portfolio card, and the rebooking card handed over as the session ends: “scan to book your next one.”
Florists and gift sellers — the repeat code
A tag on every bouquet: “Scan to order again.” A one-time buyer holding your flowers is the warmest audience you will ever print for — the code turns the arrangement itself into your reorder channel.
Trainers and classes — the door code
The studio door, the gym flyer, the closing slide of a class. “Scan to book a session” captures people at peak motivation — which is exactly when they’re standing in front of your poster.
The upgrade: from chat link to WhatsApp form
The pre-filled message starts the conversation — and then the conversation arrives as free text. If the same questions repeat in every chat (which date? what size? delivery address? can you send a photo?), the structured version of the same scan is a WhatsApp form:
- Named fields — date, size, address — with required-field validation, instead of one long paragraph.
- Photo and file uploads: “attach a picture of the design you want.”
- Responses forwarded straight to your WhatsApp, so orders stop landing as vague DMs.
- Hidden fields that record which poster or sticker produced each order — something a wa.me link structurally cannot do (next section).
And one quiet advantage that compounds: a wa.me code freezes the message into the pattern, so changing your greeting means reprinting everything. A form’s questions can change any time behind a frozen URL — the printed code never goes stale.
Build one in minutes with the WhatsApp form builder, or start from a template in the grid below — each copies into your account ready to edit and publish. For deeper patterns, see WhatsApp booking forms and WhatsApp order forms.
What a wa.me code can’t tell you
A wa.me QR code is static and silent: it reports no scans, no counts, no placements. That’s the trade for a code that never expires and depends on no redirect server — usually the right trade for print. But it means every code is attribution-blind: ten posters and one code can’t tell you which poster worked.
If per-placement attribution matters, point the QR at a Formware form instead of a raw link. Hidden fields carry a tag per placement (?source=window-poster) into every response, the UTM builder generates the tagged links, and the code stays just as static and permanent. Same engine, same pattern — with the reporting switched on. The form QR hub covers the general case; the WhatsApp flow is identical.
Frequently Asked Questions
Where do I find my WhatsApp QR code in the app?
In WhatsApp, open Settings and tap the QR icon next to your name. That’s your personal code for sharing your contact — it encodes your number only and opens an empty chat. For a print code that carries a message, use the generator above.
What's the difference between this and WhatsApp's built-in QR code?
Three things: the built-in code encodes your number only, while this one encodes your full wa.me link with a pre-filled message; the built-in code carries the WhatsApp logo, while this one is a clean pattern; and the built-in code lives on-screen, while this one exports print-grade PNG and SVG.
Does scanning the code send the message automatically?
No. The chat opens with the message already typed, and the customer reviews and presses send themselves. wa.me links never auto-send — which is also why you can see exactly what will be written before sharing a code.
Is my phone number visible in the code?
Yes — the number is part of the link, so anyone who scans (or inspects) the code can see it and message you. That’s the point of a contact code; just use a dedicated business number if you don’t want your personal one in circulation.
Can I edit the QR code after it's printed?
No. The pattern is frozen to the URL it was generated from — change the number or the message and you’re generating a new code and reprinting. That’s the deal with static codes. The escape hatch for evolving content: point the code at a form instead — a form’s questions can change without its URL changing, so the print stays valid.
My link has no ?text= part — will it still work?
Yes — but the code just opens an empty chat, which makes it little more than the built-in QR without the logo. The message is the conversion mechanic; add one with the WhatsApp link generator before encoding.
Should the link use wa.me or api.whatsapp.com?
Both are official formats of the same click-to-chat feature, but wa.me is shorter — and shorter means a sparser pattern that scans from further away. Prefer wa.me for anything printed.
Does this work with WhatsApp Business?
Yes — wa.me links and QR codes work identically for the standard app and WhatsApp Business. The Business app’s short link (Settings → Business tools) is itself a wa.me link you can paste straight in, though it carries no message until you add one.
Is this WhatsApp QR generator free?
Yes — no account, no watermark, no expiry, no limit on how many you create. The code contains your link directly, so it works exactly as long as your number does.






