QR code generator · WhatsApp WhatsApp QR code generator: scan to chat
Put a wa.me link on packaging, invoices, shop windows or a trade show banner as a QR code, and customers who scan it land in a chat with you, the opening line already typed. Write the number however you normally would; spaces, a leading 0 and the country code are sorted out for you.
- WhatsApp Help Center format
- PNG and SVG
- Made in your browser
Make a WhatsApp QR code
Pick the country, enter the number and write an opening line. If you only need the link, use the WhatsApp link generator.
Content type
The page the code opens. https:// is added if you leave it out.
Where it is placed: flyer, poster, package, booth.
The kind of entry point. qr is a common choice for codes.
Campaign name with a date or edition, e.g. spring_sale_2026.
Tells placements or versions apart within one campaign: a store, a stand number.
Mostly for search ads; usually empty on a QR code.
Shown as-is when scanned. Any language, emoji and line breaks work.
Exactly as set on the router: case and spaces matter.
Used only in your browser. It is not uploaded and never goes into the share link.
If the router says WPA2 or WPA3, pick the first option.
3.0 is the widely supported one; 4.0 is the newer RFC 6350 version.
International format works everywhere, e.g. +1 415 555 0100.
Use a URL with UTM tags to see how many visits the card brings.
Sets the country code for the WhatsApp number.
Spaces, dashes and a leading 0 are fine; it is cleaned into international format.
Appears in the chat box after the scan; the customer can edit it before sending.
Preview
1024 × 1024 px · version 8, 49 × 49 modules · level M · about 8.7 cm at 300 dpi
https://wa.me/14155550100?text=Hi%21%20I%20scanned%20your%20code%20at%20the%20trade%20show%20and%20would%20like%20a%20quote.Which channel a scan lands in
Checks
- OKEncoded: version 8 (49 × 49 modules), level M, 124 bytes of content.
- OKRead as +1 4155550100, written as 14155550100 in the link.
- OKContrast 21.0:1.
Style
The SVG is vector and has no fixed size.
Higher survives more damage and leaves room for a logo, but the code gets denser.
The standard asks for at least 4 modules.
PNG, JPG, WebP or SVG up to 2 MB, read on this device only. Adding a logo switches to level H.
Batch (optional)
One placement per line. You get a set of codes with the same URL and UTM tags, differing only in utm_content. Write a name to use the URL above, or "name, URL" to use that line's URL. Up to 200 lines; the ZIP holds a PNG and an SVG per code plus an index.csv.
One text code per line, up to 200 lines. The ZIP holds a PNG and an SVG per code plus an index.csv.
Share these inputs: the values go after the # in the link, so they never reach a server.
https://tapcub.com/tools/campaign-qr-code/whatsapp
Version v1.0Updated Update history
Preview, content, channel and checks
The four panels on the right answer the four questions to settle before printing: will it scan, what does it say, where will it show up in reports, and is anything risky.
Preview and version
Each non-Latin character in the message becomes 9 characters of URL encoding (%E4… style), which makes the code denser. Keep the opening line to a sentence or two.
What the code contains
A https://wa.me/number?text=message link. On a phone it opens a WhatsApp chat with that number, with the message in the input box.
Checks
Shows how the number was read (country code, which digits were dropped) and flags suspicious lengths.
Style
Codes on packaging get scuffed, so Q or H error correction is sensible; watch contrast on dark packaging.
A scan opens WhatsApp, not your website, so web analytics never sees it. To tell entry points apart, put a different tag in each opening line.
A trackable campaign QR code in four steps
One code per placement is what lets you compare locations afterwards.
-
1
Pick URL and paste the page
Use the URL type with your landing page. Posters, flyers and table tents for one campaign can share a landing page; the UTM tags tell them apart.
-
2
Write the UTM tags
utm_sourcesays where (flyer, poster, booth),utm_mediumisqrfor all codes,utm_campaignnames the campaign,utm_contentnames the exact spot. Values are lowercased for you. -
3
Style it
Use SVG for print. Upload a logo if you want one; the tool moves to level H and estimates how large the logo can safely be. When changing colors, watch the contrast check and keep modules dark on a light background.
-
4
Download, test, then print
Download PNG or SVG, scan the proof with a phone, and confirm both the page and the parameters in the address bar. For many stores or spots, use Batch to export them all at once.
https://wa.me/number?text=message
WhatsApp's Help Center documents the click-to-chat format: the full international number without +, leading zeros, brackets or dashes, followed by a URL-encoded message. Number clean-up follows the same rules as the WhatsApp link generator.
- Digits only, starting with the country code:
(415) 555-0100in the US →14155550100 - Drop the domestic trunk prefix (UK
07911…→447911…), except Italian landlines - The message is UTF-8 percent-encoded; a space becomes %20, and emoji and any script work
- A wa.me link carries no referrer information to you, and adding
utm_parameters does nothing
| You type | Link has |
|---|---|
(415) 555-0100 (US +1) | wa.me/14155550100 |
+1 415-555-0100 | wa.me/14155550100 |
07911 123456 (UK +44) | wa.me/447911123456 |
One number, three entry points, three codes
An online store puts a WhatsApp code on the box, the trade show banner and the invoice, each with a different tag at the end of the opening line.
| Where | Opening line | Purpose |
|---|---|---|
| Product box | Hi, I bought one of your products and have a question about using it. [box] | After-sales help |
| Trade show banner | Hi, I saw you at the show and would like a quote. [expo] | Event leads |
| Invoice | Hi, I would like to track my order. [invoice] | Delivery questions |
Customers can delete the tag, so counts by tag are a floor, not an exact number. If you need to know which pages a customer read, put the entry point on your own site.
What goes wrong with campaign QR codes
Printed codes cannot be changed, so these are worth checking before the proof.
Printing a bare URL
Scans blend in with typed URLs and bookmarks as Direct traffic, and the campaign cannot be measured. Give every placement its own UTM tags.
Redirects that drop the tags
With a short link or redirect page, if the redirect does not pass ?utm_… through to the final page, analytics never sees it. Scan once and check the address bar.
Pale or inverted colors
Light gray modules, colored backgrounds and white-on-black codes fail on some phones. Keep modules dark on a light background, at least 4.5:1.
Oversized logo, no quiet zone
A logo covering more codewords than error correction can repair breaks the code, and a code jammed against artwork is hard to find. Use the coverage estimate and leave 4 modules of clear space.
Follow the scan through to the result
The code gets people to the page. With the right parameters, the visits, conversions and channels after that are all in TapCub.
Scans split by UTM
Source, medium, campaign and content each get a breakdown with sessions, conversions and rate, so stores and spots compare side by side.
Learn moreLanding page performance
Visits, bounces and conversions by entry page, with the channel alongside: did people who scanned keep going?
Learn moreA chat link to print
Every site key has a hosted chat page you can turn into a code for packaging or business cards; messages land in the same inbox.
Learn moreQR code generator FAQ
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
How is this different from the WhatsApp link generator?
The content is the same wa.me link. The WhatsApp link generator focuses on the link itself: HTML button code, the older api.whatsapp.com format and campaign tags. This page focuses on print: size, colors, logo, SVG download and scan checks.
Can I use the QR code built into WhatsApp instead?
You can, but it is created inside the app, cannot carry a pre-filled message and cannot be restyled. A wa.me code lets you write the opening line and add your own logo and colors.
The scan says the number does not exist. Why?
Usually the format: an extra domestic 0, a missing country code, or a number that is not registered on WhatsApp. The checks show how the number was read; compare it digit by digit with yours.
Can I count how many times a WhatsApp code is scanned?
Scans go straight into WhatsApp, so web analytics cannot see them. You can tag each opening line and count chats per tag, or point the code at a contact page on your site (with UTM tags) and link to WhatsApp from there.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Data this tool relies on
- GA4 default channel group source lists — checked 2026-11-09, reviewed every 6 months (next review by 2027-05-09)
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
Make every code accountable
Add the TapCub tracking code and break scan traffic down by UTM: which store, which poster, which spot brought visits and conversions.