QR codes for restaurant menus that guests actually use
A QR code on the table should save your staff time and get guests looking at the menu sooner. It goes wrong when the code leads to a slow PDF, a page that won't zoom, or a menu that was last updated in spring. Most of the work is in the page behind the code, not the code itself.
Decide what the code opens
You have three common choices, and they behave very differently on a phone.
- A menu page on your own website. This is the best option for most places. A plain web page loads fast, reflows to fit any screen, can be read aloud by screen readers, and is easy to change. Search engines can read it too, which helps people who look you up before they visit.
- A PDF of the printed menu. Quick to set up, because you already have the file. But a PDF designed for A4 is hard to read on a phone: guests pinch and drag around a tiny page, and large files are slow on weak signal. If you use a PDF, export a narrow, single-column version just for phones and keep it small, ideally under 1 MB.
- An ordering or booking system. If you take orders at the table through a service, that service usually gives you a link per table. Use their link, and check what happens when the system is down or the guest has no data.
Whatever you choose, open it on your own phone over mobile data, not the restaurant Wi-Fi, and time how long it takes. If it is more than a few seconds, guests will put the phone down and wave at a server.
Use an address you control
The link inside a printed code cannot be changed. If it points at a file on a cloud drive, a page builder's free subdomain or a menu service you might cancel, every table card breaks the day that link stops working.
The safest pattern is a short, permanent address on your own domain, for example yourplace.co.uk/menu. Put that in the code. Then you can replace what lives at that address whenever the menu changes, and the printed code keeps working. If your website builder lets you set up a redirect, you can point /menu at a PDF today and a proper page next year without reprinting.
If you want to change the destination itself after printing, or count scans, you need a tracked (dynamic) code instead. Our guide to static and dynamic QR codes explains what you gain and what you depend on.
Keep a paper menu
Some guests don't have a phone with them, have a flat battery, can't read small screens, or simply prefer paper. A QR code works well as an addition: it is handy for the drinks list, allergens, specials or a translated version. It works badly as the only way to see what you serve. Keep a few printed menus ready and let guests know they can ask.
Allergen and dietary information deserves particular care. If the menu page lists allergens, make sure it is updated at the same moment as the kitchen's own records, and that staff can still answer questions in person.
Designing the table card
Table cards are read at arm's length, often in low light. A few rules make a real difference.
- Size. At 25 to 40 cm away, a code of about 3 cm across is the minimum, and 4 to 5 cm is more comfortable. Our QR code size guide has the rule of thumb for other distances.
- Contrast. Dark code on a light background, with no texture behind it. Dim, warm lighting already makes cameras struggle; a brown code on a kraft card makes it worse.
- Finish. Matt lamination or a matt sticker. Gloss reflects ceiling lights straight into the camera, and the code fails from exactly the angle a seated guest holds their phone.
- A short label. "Scan for the menu" or "Menu and allergens" tells people what they will get. A code with no words next to it gets ignored or treated with suspicion.
- A table number, if your ordering system needs it, printed clearly near the code so staff can match a card to a table at a glance.
Leave a clear margin around the code, at least the width of four of its little squares. Card edges, borders and text pushed right up against the code are a common reason it reads slowly.
One code, one job
It is tempting to put the menu, Wi-Fi, reviews, Instagram and a loyalty scheme on the same card. Each extra code makes every code harder to find. If you need more than one, give each its own label and space, and put them in order of how often people want them: menu first, Wi-Fi second, everything else on a separate card by the till or on the receipt.
A Wi-Fi code is a different kind of code: it holds the network name and password rather than a link. See how to make a Wi-Fi QR code that actually connects for the details.
Keeping it clean
Table cards get wiped many times a day, splashed and knocked over. Laminated cards, acrylic stands or wipeable stickers survive longest. Check them weekly: a scratched or curled card can fail even when it looks fine to the eye. Keep the original file so you can reprint a single damaged card rather than the whole set.
It is also worth walking round now and then to check that every card is still yours. Stickers placed over genuine codes are a known trick. Our guide to QR codes people can trust covers simple ways to spot and prevent that.
Before you print the whole set
- Print one card on the real material.
- Put it on a table in the actual lighting, in the evening if that is when you are busiest.
- Scan it from a seated position with an iPhone and an Android phone.
- Check the page loads over mobile data and is readable without zooming.
- Only then print the rest.
Twenty minutes of testing saves a stack of reprinted cards, and saves your staff from explaining to every table that the code doesn't work.
Read next
- How big should a QR code be?
The 1:10 distance rule, the quiet zone, minimum sizes for cards and posters, and why some codes never scan.
- QR codes people can trust: avoiding fake-code scams
How QR code scams work, how to make your codes hard to cover or fake, and simple checks to share with your customers and staff.
Make a code in the workshop โ
Codeshed is a trading name of Third Coffee Studio Ltd, registered in England and Wales, company number 17517422.