QR codes for restaurants
How to put a QR code menu on your tables so it actually gets used. Sizing, placement, seasonal changes and the mistakes that send diners looking for a waiter.
A QR menu is either invisible infrastructure or a source of friction at every table. The difference is almost entirely in the setup.
Make it dynamic, always
Menus change: seasons, suppliers, prices, a dish that sells out. If the code encodes your menu URL directly, every one of those changes is a reprint of every table talker.
A dynamic code encodes a short link instead. Change where the link points and every table is updated at once. This is the single most important decision here — see Dynamic vs static QR codes.
Sizing and placement
- 3–4 cm is right for a table tent or a card at arm's length.
- Eye level beats flat on the table. A code lying flat means leaning over it; a small stand is easier and looks tidier.
- One per two covers, so a table of four is not passing a card around.
- Away from the candle and the condiments. Grease and wax kill codes faster than you would think.
What the code should lead to
The destination matters more than the code. Diners scanning at a table want the menu to load instantly on a phone:
- A fast, mobile-friendly page. A 12 MB PDF that opens in a viewer is the most common way to make people give up.
- Prices visible without zooming.
- No app, no sign-up, no cookie wall. Anything between the scan and the menu costs you.
- Allergen information where you are required to provide it.
If your menu only exists as a PDF, a simple hosted page listing the sections is a better destination — and you can change it in a minute.
Label the code
A bare code gets ignored. A single line — "Scan for menu" or "Scan to order" — measurably increases the number of people who use it. Say what happens next.
Use different codes for different places
If you have a table code, a window code and a takeaway-bag code, use a separate short link for each even though they lead to the same menu. Then your analytics tell you which placement is actually earning its space, rather than giving you one undifferentiated number.
Add utm_content=table and similar to each destination if your menu page has its own analytics — see UTM parameters.
Seasonal reuse
The same printed code can run a summer menu, a winter menu and a Christmas set menu across a year. Point the link at whichever is current. Out of season, point it at the standard menu rather than leaving a dead page behind.
Before printing
Print one at final size on the actual card stock, and scan it from a seated position with two different phones, in the lighting you actually have in the evening. Restaurant lighting is dimmer than an office, and that is where marginal codes fail.
Frequently asked questions
Should the QR menu replace paper entirely?
Rarely. Keep a few printed menus for guests who cannot or would rather not scan. The QR menu is the default, not the only option.
How do I update the menu without reprinting the code?
Use a dynamic QR code and change the destination. The code on the table stays the same.
What size should a table QR code be?
About 3-4 cm works at arm's length. See QR code size for print.
Last updated 2026-08-24