Make your menu code

QR code menus for restaurants

One code on each table replaces stacks of laminated menus. Change prices, 86 a dish, or swap in the brunch menu — without touching the printed code. Here is the setup that actually works in service, learned from what fails.

The five-step setup

  1. Host your menu somewhere with a URL — a page on your site, a PDF, or a menu platform (more on the trade-offs below).
  2. Create a dynamic QR code pointing at it. Dynamic is the whole game for menus: tomorrow’s price change or a moved URL must not mean re-laminating fifty table tents.
  3. Brand it in the generator — your colors, your logo — and keep the scanability meter green; dining rooms are dim.
  4. Download at 512 px or 1024 px and print: table tents, window decals, check presenters, a corner of the printed menu.
  5. Test at an actual table at dinner lighting before printing the full run. Not in the office. At the table.

Where to host the menu (this decides the guest experience)

The code is a doorway; the menu behind it is what guests judge. The realistic options:

Print placement and sizing

PlacementScan distanceMinimum code size
Table tent / sticker on table20–30 cm2.5–3 cm
Counter or bar top30–50 cm3–5 cm
Window (“see our menu”)0.5–1 m5–10 cm
Street sign / A-frame1–2 m10–20 cm

The rule behind the table: code width of at least one-tenth of the scanning distance. When a placement straddles two rows, size for the farther one — oversizing costs nothing, undersizing costs scans.

Surviving a dining room

The update workflow, once it runs

Price change or new special: edit the menu page (or upload the new PDF at the same link), and every code in the building serves it instantly. Seasonal menu with its own URL: open your collection, edit the code’s destination, done — the printed tents never know. Weekend brunch: swap the destination Friday night, swap it back Sunday. This is the compounding payoff of the dynamic choice; a static code would have you re-laminating tables for every one of these.

Keep a paper fallback

Some guests have no smartphone, a dead battery, or simply hate phone menus — and basements eat cell signal. Keep a handful of printed menus per section and make sure the code placement never reads as “phone required.” The code should feel like the fast lane, not a wall. (Your servers will also thank you for the large-print copies.)

Measuring what happens

Dynamic menu codes report scans over time — expect a lunch spike, a dinner ramp, and dead Mondays that match your covers. Two practical uses: staff timing (the pre-rush scan ramp is your prep bell), and placement testing — run distinct codes for tables vs. window for a week, and let the counts decide whether the window decal earns its spot. The dynamic guide covers the analytics in depth.

Mistakes that cost scans

The destination page checklist

Because the code only opens the door, spend the quality budget on what is behind it. A menu page that converts scans into orders: loads in under three seconds on cellular (compress the images — food photos are the usual offender), sets type at a size readable without zooming, puts sections in service order with prices unambiguous, and shows today’s date or a “current as of” note so guests trust it over a stale search result. Skip autoplay video, pop-ups, and cookie walls — a guest at a table is the most captive audience on the internet and the easiest to lose. If dishes sell out mid-service, an editable page turns 86ing into a strikethrough instead of a server apology, which is quietly one of the best guest-experience wins of the whole setup.

A one-week rollout plan

Restaurants that switch smoothly do it in stages rather than swapping every table on a Friday night:

  1. Day 1–2: build the destination. Get the menu page or PDF right on a phone first — fast load on cellular, readable type, prices current. Nothing else matters until this does.
  2. Day 3: create and test the code. Dynamic code, branded, laminated sample on one table. Every server scans it with their own phone at evening light; whatever they trip over, guests will too.
  3. Day 4–5: soft launch on a section. Run one section QR-first with paper on request. Watch two numbers: how often servers get asked for paper, and the scan curve in the analytics. Adjust caption wording and tent placement — small changes move scan rates surprisingly hard.
  4. Day 6: print the full run. Same file, all tables, plus the window decal sized from the table above. Keep a stack of paper menus per section.
  5. Day 7 onward: make updates routine. The person who changes menu prices owns updating the destination page — one owner, no drift. The printed codes never enter the conversation again, which was the point.

Notes for multi-location and groups

Groups get outsized value from doing this once, centrally. Give every location its own dynamic code even when menus are identical — per-location scan counts become a free comparative dashboard (why does the Elm Street window code triple Main Street’s?), and the day one location pilots a new menu, only its destination changes. Keep one brand recipe for the code styling — colors, logo treatment, caption wording — so a guest who scanned at one location instantly trusts the code at another. Name codes in your collection by location and placement (Elm St — tables, Elm St — window) because six months from now “QR code 3” means nothing, and the person doing the mid-service destination fix will not be the person who set it up. Seasonal menu swaps then become a five-minute checklist across every location, run from one laptop, with zero printing anywhere in the chain.

Common questions

Do I need an app for my restaurant?
No — any webpage or PDF works as the destination. The code is just the bridge to it.
What does this cost?
A static menu code is free forever. Editable dynamic codes start at $3/mo billed yearly — the price of not reprinting tents once.
Can I see how many people open the menu?
Yes — dynamic codes count scans over time, by device and location, per code.
One code for food and a separate one for drinks?
Better: one code to a landing page with both menus one tap away. Every extra printed code is another thing to explain at the table.
What about ordering and payment from the table?
That is a POS-integration product beyond a menu code — but the printed code is the same either way: point your dynamic code at the ordering page when you adopt one, reprint nothing.
How big should the window code be?
5–10 cm for sidewalk scanning, placed at adult chest-to-eye height, away from glass glare — and test from outside at dusk, when the reflections are worst.

Make your menu code →

Related guides