A menu QR code that people actually use

Most restaurant QR codes fail for a reason that has nothing to do with the code: they open a PDF laid out for A4, which nobody can read on a phone held at arm length. Fix the page and the code works.

Create the menu code

Point it at a page you control

Editorial teamLast reviewed: 29 October 2026Editorial standards

Short answer

You do not need a dynamic code to keep a menu editable. A static code holds a URL; change the page behind it and the printed code keeps working. What actually fails is the A4 PDF, which nobody can read on a phone.

The advice usually given is that you need a "dynamic" QR code so you can change the menu later. That advice is half wrong and it costs money. A static code contains a URL. If that URL is on a domain you control, you change the page, not the code, and the printed code keeps working. What a rented redirect actually gives you is the ability to point at a different domain, which is a problem you do not have.

What you do have is a layout problem. A four-page A4 PDF shown on a 390 pixel wide screen is a pinch and zoom exercise, and guests give up. A plain HTML page with one heading per course, readable at default zoom, gets used.

The PDF trap

PDF is a fixed-layout format. It was designed so a page looks identical everywhere, which is exactly what you do not want on a phone. Either the text becomes tiny or the guest has to scroll sideways, and both lose.

Print the same content as a normal web page instead. One heading per course, prices right-aligned or after the dish, no multi-column layout. If the kitchen changes a dish, you edit text rather than exporting a new PDF and hoping every printed code still resolves.

  • One column, body text at default zoom, no pinch required
  • Prices next to the dish, not in a separate column that collapses
  • No page-flip animation: it breaks on slow connections
  • Test on an old phone on mobile data, not on your laptop

Static code, editable menu

A static code is not a limitation here. Generate it once, point it at your own domain, and forward that path to whatever the menu is today. When the menu changes, the page changes and the printed code does not.

The only case that genuinely needs a redirect service is when you must move to a different domain and cannot set up a redirect yourself. If you control DNS, you can do that without paying anyone.

Table size, and the code people ignore

A code on a table tent is read from about 30 cm, so 3 cm is enough and 4 cm is comfortable. Anything over 5 cm starts to look like an advertisement rather than a menu.

Do not put the code on the table alone. Put it on the same card as the guest Wi-Fi code, so the card has two reasons to exist and guests pick it up. A card that does one thing gets ignored; that is why the Wi-Fi code on the same tent roughly doubles the number of people who scan either.

  • Table tent: 3 to 4 cm, matte, at an angle rather than flat
  • Never behind glass or under a laminate that catches the lamp above the table
  • Keep printed menus available: not every guest wants to use a phone

What to track, and what not to

If you want to know how many people open the menu, that requires a redirect service, and in the EU that service processes personal data. You then need a legal basis and a line in your privacy policy.

The honest alternative is to count nothing. Use server logs you already have, which record a request without giving you a per-guest profile, and accept that you will know roughly how much the menu is used rather than exactly who used it.

Size

Menu code size by placement
PlacementEdge lengthRead from
Table tent3 to 4 cm30 cm
Counter card4 cm50 cm
Window sticker10 cm1 m
Door poster30 cm3 m

Questions

Do I need a dynamic code to update my menu?

No. A static code holds a URL. If that URL is on a domain you own, you update the page and the printed code keeps working. A redirect service only helps if you cannot control your own domain.

Should the menu be a PDF?

Better not. A PDF has a fixed layout and forces zooming on a phone. A normal web page with one heading per course is readable and easier to update.

How big should the code be on a table?

Three to four centimetres is the range that works from a normal seated distance. Larger looks like advertising and does not scan better.

Can I put the Wi-Fi code on the same card?

Yes, and you should. Cardboard with two useful codes gets picked up, a card with one gets ignored. Keep the two patterns at least two centimetres apart.

Is a QR-only menu allowed?

Rules differ by country and by municipality. Printing a small number of paper menus costs little and removes the question, along with the problem of a guest with a dead battery.