Let customers message you without saving your number.
Create a QR code that opens a WhatsApp chat with your number. Add an optional starter message so people can scan, review it and tap Send.
Frames use your current colours. Choosing one replaces an active preset.
Enter a WhatsApp number with its country code, add an optional message that appears ready typed in the chat, then customize and download the QR code. When someone scans it, WhatsApp opens a chat with that number, and they decide whether to send. It suits shops, restaurants, hotels, support desks, sales teams, event organizers and freelancers who'd rather chat than take calls. It's free, with no signup.
How do I make a WhatsApp QR code? Type your number in international format (for example +92 300 1234567), add a short pre-filled message if you like, check the preview, customize it, scan-test it with a phone, then download the PNG.
Loading designs…
Type it as you'd write it: +92 300 1234567. Frame keeps the digits and builds the wa.me link.
Add “Hi, I'd like to book a table” and it appears in the chat box, so customers don't face a blank screen.
The customer reviews, edits or deletes the message and chooses whether to send it.
The number and message sit inside the code, so use a business number for public signs.
A WhatsApp QR code is a standard QR code containing a WhatsApp click-to-chat link, an
address like https://wa.me/923001234567. Scanning it opens a chat with that number,
in the WhatsApp app if it's installed, or through WhatsApp's web page otherwise. The person
doesn't need to save your number as a contact first. If you added a pre-filled message, it
appears typed in the chat box, but it's never sent automatically; the person decides.
This WhatsApp QR code generator only builds that link. It doesn't connect to WhatsApp, send messages or check whether the number has a WhatsApp account.
+44 7700 900123. Spaces, dashes, brackets and the plus sign are
fine.WhatsApp links need the number in international format: country code first, then the number, without the leading zero you'd dial at home. Frame keeps only the digits, so the plus sign, spaces, dashes and brackets are all removed for you.
| You type | The QR code opens |
|---|---|
Pakistan: +92 300 1234567 | wa.me/923001234567 |
US: +1 (202) 555-0123 | wa.me/12025550123 |
UK: +44 7700 900123 | wa.me/447700900123 |
Local format: 0300 1234567 | Not accepted: Frame asks for the full international number |
0092 300 1234567 | Not accepted: use +92, not 00 92 |
Frame rejects numbers that start with 0, a sign that the country code is missing, but it can't check anything else. It doesn't know whether a number is complete or whether it's registered on WhatsApp; WhatsApp decides that when the link opens.
For customers abroad, or a business in one country serving another, always write the number
as the world sees it: +, the country code, then the number without its local
leading zero. Don't rely on how you'd dial it locally, which only works from inside your own
country. Then test from a different phone or account, because a QR code that opens your
own chat can hide a mistake.
The optional message is added to the link, so when the chat opens it's already typed in the message box. The customer can send it as-is, edit it or delete it. It isn't sent until they press send. It gives you context before the conversation starts:
Keep it to one short line. The message box is a single line, and customers tend to delete long pre-written text. Accents, other scripts and emoji all work, because Frame encodes the text safely inside the link.
Frame builds WhatsApp's official click-to-chat address: https://wa.me/
followed by the digits of the number, plus ?text= and your encoded message if you
added one. For example, Table 12: I'd like to order becomes
?text=Table%2012%3A%20I'd%20like%20to%20order. That link goes straight into the QR
code, with no Frame redirect in between, so the code talks to WhatsApp directly and doesn't depend
on Frame.
| Type | What happens after a scan | Best for | Main limitation |
|---|---|---|---|
| A WhatsApp chat opens, with an optional ready-typed message | Enquiries, bookings, support, sending photos | The customer needs WhatsApp | |
| Phone | The phone offers to call the number | Urgent help, older customers, reception desks | Someone has to answer, live |
| SMS | A text message opens, optionally pre-filled | Short replies, opt-in keywords, basic phones | Plain text only, and may cost the sender |
Phone and SMS codes are available as types in the main QR code generator.
Place: table tent or takeaway menu. Message: “Hi, I'd like to order for pickup.” Then: the order conversation starts in WhatsApp.
Place: room card or reception. Message: “Hello, this is room ___. I need…” Then: guests reach the front desk without calling.
Place: appointment card or window. Message: “I'd like to book an appointment.” Then: your team replies with free slots.
Place: shelf tags or shopping bags. Message: “Is this available in another size?” Then: customers send a photo of the product.
Place: for-sale board or brochure. Message: “I'm interested in the property on Park Road.” Then: the agent knows which listing it is.
Place: business card or van signage. Message: “Hi, can I get a quote?” Then: the enquiry lands in your chats.
Place: brochures and window posters. Message: “I'd like details on the Dubai package.” Then: an agent follows up in chat.
Place: posters and ticket stubs. Message: “I have a question about the event.” Then: attendees reach the organizer directly.
Frame makes the QR code only. Replies, routing and any chatbot or CRM are up to you and WhatsApp. On business cards, a vCard QR code that saves your full contact details pairs well with the WhatsApp code, and a Facebook QR code can point to your Page. Need a different message per branch or product? The Batch QR generator can turn a list of ready-made wa.me links into codes, but you'd write each link yourself.
A support code saves customers from searching for a number when something goes wrong. Good places: the support desk, packaging and inserts, invoices and receipts, hotel room cards, help pages and product manuals. Pair it with a line that says what happens:
A pre-filled message like “Order help:” gets customers to include the useful details first.
Print is great at getting attention and bad at taking enquiries; a WhatsApp code bridges the gap. A short pre-filled message gives each chat context, and you can note the source in it (“Hi, I saw your ad in City Magazine”), so you know which flyer or ad worked when the message arrives. That's the only “tracking” involved: Frame doesn't record who scanned or how many times.
The code opens a chat with whatever account uses that number. If it's a WhatsApp Business account, customers reach your business profile, with the name, hours and any greeting or catalog you've set up in the WhatsApp Business app. Frame doesn't connect to WhatsApp or the WhatsApp Business API, and it doesn't create profiles, catalogs or automatic replies. Frame is not affiliated with or endorsed by WhatsApp or Meta.
On a phone with WhatsApp installed, the link usually opens the app directly. Without it, the browser shows WhatsApp's page, which may offer to open or download the app. If the link is opened on a computer, it may continue to WhatsApp Desktop or WhatsApp Web, which needs you to be logged in. The phone, its settings and installed apps decide which opens; Frame can't force either.
The wa.me link, including the number and any message, is stored directly in the QR code. There's no Frame redirect, no dynamic editing, no scan tracking and no expiry timer. Changing the phone number or the pre-filled message means generating a new code and replacing printed copies. And if the same number is later moved to a different WhatsApp account, the printed code will open that account, which Frame has no control over.
Your number and message are processed in your browser and are not uploaded to Frame. Frame doesn't call any WhatsApp service, doesn't send messages, can't tell whether the number has WhatsApp, and keeps no scan history.
But the code isn't secret. The number and the pre-filled message are inside it, so anyone who scans it, or photographs it, can read and use them.
The country code is probably missing or wrong, or the local leading zero is still in the
middle. Re-enter it as +country code, number and regenerate.
A digit is wrong or missing. Compare the wa.me number in the scanned link with the real number.
The message field was empty when you downloaded the code, or you downloaded before typing it. Add the message, check the preview and download again.
Frame encodes the message so accents, other scripts and emoji arrive intact. If something still looks wrong, it's usually an older scanner app. Try the phone's own camera.
WhatsApp isn't installed, or the phone isn't set to open WhatsApp links in the app. The browser page usually offers to continue in the app.
Frame can't check whether a number is registered. Make sure the account exists and uses exactly that number.
Printed codes can't be updated. Generate a new code and replace the old ones.
Check the file with the QR Code Checker, enlarge it using the size guide, keep the quiet zone clear, and shorten a long pre-filled message.
Enter your number with its country code in the generator at the top of this page, for example +92 300 1234567, add an optional pre-filled message, then customize, scan-test and download the QR code.
International format: country code, then the number without the local leading zero, such as +44 7700 900123. Plus signs, spaces, dashes and brackets are fine, because Frame keeps only the digits.
Yes. WhatsApp links only work with the full international number. Frame rejects numbers that start with 0, since that usually means the country code is missing.
Yes. Type a short message in the optional field and it appears in the chat box when the chat opens. Accents, other scripts and emoji are supported.
No. The message is only typed into the chat box. The person can edit or delete it, and nothing is sent until they press send.
Yes. If the number belongs to a WhatsApp Business account, the code opens a chat with that business. Frame doesn't connect to the WhatsApp Business API or create profiles, catalogs or automatic replies.
Yes. The code opens a chat with whichever WhatsApp account uses that number, personal or business.
On a phone with WhatsApp installed it usually opens the app. Otherwise WhatsApp's web page opens and may offer to continue in the app. Frame doesn't control which opens.
The code is meant to be scanned with a phone. If the wa.me link is opened on a computer, it may continue to WhatsApp Desktop or WhatsApp Web, which needs you to be logged in.
No. It's a static code with the wa.me link stored directly in it, with no expiry timer. It works for as long as the number has an active WhatsApp account.
The printed code still opens the old number. Generate a new code with the new number and replace printed copies.
No. The message is part of the link inside the code, so a new message needs a new code.
No. Frame only builds the link. WhatsApp decides whether the number is valid when the chat opens, so test the code from another phone.
No. Your number and message are processed in your browser and are not uploaded to Frame, and no WhatsApp service is called. They are inside the QR code, though, so anyone who scans it can see them.
No. Frame creates static QR codes with no redirect, so there are no scan counts or analytics.
No. Frame is an independent QR code tool and is not affiliated with or endorsed by WhatsApp or Meta. WhatsApp is named only to describe the links this tool creates.
Yes. Scan it from a different phone or account to confirm the right chat and message open, check the file with the QR Code Checker, and scan a printed proof.