QR codes for restaurant menus and table tents
Menu codes fail in ways that are specific to dining rooms: dim lighting, glossy lamination under downlights, codes printed small to keep the table tent elegant, and a menu URL that changes the week after printing. Each has a straightforward fix if you decide it before the print run.
Decide what the code points at first
This decision constrains everything else, so make it before you generate anything.
Do not encode the menu URL directly. Menus change —
seasonally, or because the PDF got re-uploaded and the link now ends in
-v3-final. A static code pointing at that URL is dead the
moment it moves, and you reprint every table tent.
Point codes at a short path on your own domain —
https://yourplace.co/menu — and redirect from there to
wherever the menu currently lives. Changing the menu becomes a
configuration change instead of a reprint.
Static versus dynamic codes
covers why this beats a paid dynamic-code subscription.
Same reasoning applies to lunch and dinner menus, wine lists, and specials.
One code, or one per table?
If every table gets the same menu, one code repeated is all you need. Generate it once and print a sheet:
- Choose Enter manually
- Enter the URL and set Copies to the number of tables
- Set QR codes per image to fill your sheet
Printing a sheet of identical codes covers that in full.
Per-table codes are worth it if you want table numbers attached — for
order-to-table service, or to know which tables actually scan. Then each
table gets
https://yourplace.co/menu?t=12, and a spreadsheet of table
numbers becomes a
CSV run. Name the files after
the table number so the pile of printed cards is sortable —
naming files from a
column explains how.
Size it for someone sitting down
A seated diner holds a phone roughly 30 to 45 cm from a table tent. At the 10:1 rule that is a 4 cm code minimum, and 4.5 cm is more comfortable.
Codes on wall-mounted signage or a chalkboard read from two metres need 20 cm — an entirely different job from the same URL. Sizing for print has the conversions; for a 4.5 cm table tent code, generate at 600 px.
Resist making it smaller for the sake of the design. A tasteful 2 cm code that half your tables cannot scan in evening light generates more staff interruptions than a slightly larger one ever will.
Lighting and lamination
This is where menu codes fail most often, and it is entirely avoidable.
- Specify matte lamination. Gloss reflects overhead lighting straight into the camera. Restaurants have downlights directly above tables, which is close to the worst case for a glossy surface.
- Test in evening light, not daylight. A code that scans in a bright empty room at 3pm can fail at 8pm with the lights down. Test under service conditions.
- Keep the code flat. Codes wrapped around a curved holder or on a folded edge distort the pattern.
- Use error correction level Q. Table tents get handled, spilled on and wiped down constantly. See error correction levels.
Tell people what it is
A bare code on a table tent is ambiguous — diners have been trained to expect ordering systems, payment links and marketing signups. Label it plainly:
- "Scan for menu", not "Scan here"
- Print the short URL underneath as a fallback —
yourplace.co/menu - Say if there is no app or signup involved. It measurably reduces hesitation.
The visible URL matters more than it seems. Phones preview the destination before opening it, and a recognisable name is far more likely to get tapped than an unfamiliar shortener.
Keep paper menus
A code-only menu excludes anyone with a flat battery, an older phone, poor eyesight, or no data signal — and several jurisdictions now require an accessible alternative. Keep a handful of printed menus regardless of what the regulations say where you are. This is a service question before it is a compliance one.
Before the print run
- Print one table tent at final size on final stock
- Put it on a real table during evening service
- Scan it sitting down, from a normal posture
- Try an older phone, not just the newest one behind the bar
- Confirm the menu page works on a phone — most PDF menus do not
That last point sinks more menu rollouts than any scanning problem. A desktop-sized PDF that opens as an unreadable full-page zoom is worse than no code at all. Check the destination on a phone before printing anything.
The most common menu-code failure is not the code — it is a URL that moved. Route every code through a path you control, and a menu change never becomes a reprint.