QR codes for restaurant menus and table tents

Last updated: July 2026 · About 7 minutes

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:

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.

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:

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

  1. Print one table tent at final size on final stock
  2. Put it on a real table during evening service
  3. Scan it sitting down, from a normal posture
  4. Try an older phone, not just the newest one behind the bar
  5. 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.

Open the generator