A WhatsApp QR Code for Your Menu, Shop Counter or Market Stall: The Print-Ready Setup on iPhone
How to make a WhatsApp QR code customers can scan from a menu, counter card, shop window or flyer: the pre-filled message that gets you better enquiries, print sizes that scan reliably, where to place it, and how to do it offline on an iPhone in a few minutes.
A small café in a tourist town has the same problem as a tailor, a tuition centre and a Saturday market stall: customers want to ask something quick, and the phone number on the sign makes them do three things (type it, save it, find it again) before they can. A WhatsApp QR code collapses that into one: point the camera, tap, and a chat opens with the question already half written. This guide is the practical version for a business that prints things: what the code should contain, how big to print it, where it works and where it does not, and how to make one on an iPhone without sending your number to a website.
The apps mentioned here are independent utilities built by the author. They are not affiliated with, endorsed by, or connected to WhatsApp LLC or Meta Platforms, Inc. WhatsApp is a registered trademark of Meta Platforms, Inc.
What a WhatsApp QR code actually contains
There is nothing magic inside the square. It encodes a standard click-to-chat link in the form https://wa.me/<number>?text=<message>: your number in international format and, optionally, a pre-filled message. When someone scans it, their phone opens that link, WhatsApp recognises it, and a conversation with your number appears with the message ready to send. Neither side needs to save the other as a contact. The link generator guide covers the link format itself; here we focus on the printed code.
Two consequences follow. First, the code is only as good as the number inside it, so build it from the number customers should actually reach, which for most small businesses is the WhatsApp Business number, not the owner's personal one. Second, because the message is part of the link, you can print different codes for different places, each with a message that tells you where the customer was standing.
The pre-filled message is the part most businesses skip
A code with no message opens an empty chat, and empty chats produce "Hi" followed by silence while the customer works out what to type. A code with a message produces a usable first line and tells you the context. Some that work:
- On a restaurant menu: Hi! I'd like to reserve a table for ___ people on ___. The blanks invite the customer to fill in the two things you need.
- On a counter card at a repair shop: Hi, I'm at the counter and would like a quote for: so you can reply with a price while they wait.
- On a market stall: Hi! I saw your stall at Sunday market and I'm interested in which both starts the chat and reminds you which stall and which day.
- On a tuition or clinic flyer: Hello, I'd like to know the available slots this week for keeps the enquiry specific enough to answer in one message.
Keep it under about fifteen words. Longer messages make a denser QR code, which prints and scans less reliably at small sizes, and customers delete long pre-filled text anyway. Emoji and apostrophes are fine as long as the link is encoded properly, which is one reason to use an app rather than typing the URL by hand.
Making the code on an iPhone, offline
Chat Link & QR Code Maker is a small iOS app (iOS 15.1 or later) built for exactly this. It is a one-time purchase, currently $2.99 on the App Store with no subscription or in-app purchases, and it runs entirely on the phone: your number, your message and the codes it makes never leave the device, and it works in airplane mode. The steps:
- Open the app and type the business number with its country code, digits only: 919876543210 for an Indian number, 447700900123 for a UK one. Drop the plus sign, spaces and leading zeros.
- Add the pre-filled message for this particular placement (the menu, the counter, the flyer).
- Tap Open chat once to confirm the link lands in the right conversation. This is the test that catches a wrong digit before it goes to the printer.
- Tap Save QR to Photos. The code is saved as a full-resolution PNG with no watermark, which is what a printer needs.
- Repeat with a different message for each placement, so each code tells you where it was scanned.
Every feature is included in the one purchase. The app page has screenshots and the full list, including the profile-picture tool, which is useful once customers start opening chats and seeing a cropped logo.
Print sizes and placement that actually scan
QR codes fail in the real world for boring reasons: too small, too far, too shiny, or too close to the edge of a laminated card. Rules that hold up:
- Size follows distance. A code on a table menu is scanned from about 30 cm; 2.5 cm (one inch) square is enough. A counter card scanned from arm's length needs 4 to 5 cm. A shop-window code read from the pavement needs 10 cm or more.
- Leave a quiet zone. Keep a clear margin around the code of at least the width of four of its small squares. Do not let a border, a logo or a fold cut into it.
- Black on white beats branding. Coloured codes scan, but dark-on-light with strong contrast scans fastest, including on older phones. Put the colour in the frame around it, not in the code.
- Matte over gloss. Glossy lamination and glass reflect overhead lights straight into the camera. If a code must go behind glass, place it where the light does not bounce, or use matte film.
- Add three words of instruction. "Scan to chat with us on WhatsApp" plus the WhatsApp name of the business. People scan codes that tell them what will happen.
Print one copy, scan it yourself from the real distance with the oldest phone in the family, and only then order a hundred.
Where it works, and where a plain number is better
A WhatsApp QR code is at its best where the customer is physically present and the question is quick: menus, counters, stalls, waiting rooms, shop windows after hours, delivery packaging, receipts and invoices (a code with Hi, I have a question about invoice saves everyone a phone call). It is also handy on a business card, where the chat link lands more often than an email address.
It is a poor choice in a few places. On a screen, a tappable link beats a code every time, so for an Instagram bio, a website or an email signature, copy the link rather than the image. On a moving vehicle or a billboard, nobody is going to scan it. And if the person answering the number cannot keep up with chats during opening hours, a code that promises a quick reply will produce quick disappointment; in that case print the number and the hours instead, or put the code only where a slower reply is acceptable.
A small checklist before you print
- The number is the business number, in international format, tested with Open chat.
- Each placement has its own pre-filled message, under fifteen words.
- The code is printed at a size matched to the scanning distance, with a quiet zone and a one-line instruction.
- The chat that opens has a logo that is not cropped and a greeting or quick replies set up, so the first impression is not an empty screen.
- Someone is actually answering the number, and the hours are stated if they are not.
Done properly, the code takes ten minutes to make and keeps working for as long as the number does. If you later change the message or the number, make a new code; the old one will keep pointing where it always did, so collect the old cards.