QR Code Menu for Restaurants: A Practical Setup Guide
The QR menu survived its pandemic hype cycle for a boring reason: it works. Prices change, dishes rotate, paper menus lag behind — while a QR menu updates in the time it takes to save a file. This guide covers the setup that restaurants actually keep using: one code per table, a destination you can edit, and scan numbers that tell you what's happening on the floor.
The one rule: never encode the menu URL statically
If you encode your-site.com/menu-july.pdf directly into a static code, you've printed an expiration date. The moment the file moves or the menu changes name, every table tent dies.
The working pattern is a dynamic QR code: the printed code carries a short redirect link, and the redirect points wherever you want — this week's PDF, a web page, a photo menu. Change the destination in the dashboard; the printed code never changes. (The full static-vs-dynamic breakdown is here.)
Choose your menu destination
- PDF menu — fastest start: upload the file and point a PDF QR code at it. Swap the file when the menu changes.
- Web-page menu — best experience: loads fast, scales to phone screens, no pinch-zooming. Point a menu QR code at your menu page.
- Photo menu — acceptable stopgap for a single-page seasonal card.
Whichever you pick, check it on a phone over mobile data, not office WiFi. A 20 MB scanned PDF that loads in eight seconds costs real orders at lunch rush.
Setup in four steps
- Create the code in the menu generator — takes about a minute, free tier included.
- Point it at your menu (PDF or page URL).
- Brand it — logo in the center, your accent color, and a frame with a clear call to action ("Scan for menu"). Ready-made frame templates with a SCAN ME banner are built in.
- Print per table — and here's the trick most places miss: create a separate code per table or zone (bulk CSV creation handles this in one upload). Same menu behind every code, but now your analytics show scans per table.
What per-table tracking tells you
Each dynamic code records scans with time, device, and country (how tracking works). With one code per table this turns into floor intelligence:
- Scans per table — dead zones where guests reach for the paper fallback (bad lighting? laminate glare?).
- Peak times — when the menu is being read, so specials go online before the rush, not during.
- Reorder moments — evening scan spikes at seated tables are drink-menu moments; some places add a dessert-menu code that goes out with the main course.
Practical print checklist
- Size: 4–5 cm on a table tent scans comfortably from a seated position.
- Contrast and quiet zone: dark code, light background, white margin around it. Cropping the margin is the #1 scan-failure cause.
- Matte lamination — glossy laminate under warm restaurant lighting produces glare that kills scans.
- Test both platforms — one iPhone, one Android, ten seconds each, before printing the full batch.
- Keep a paper fallback — some guests prefer it, and dead phone batteries exist. The QR menu reduces paper turnover; it doesn't have to eliminate it.
Beyond the menu: one table card, three jobs
The same table tent can carry more than the menu code:
- WiFi QR code — guests connect without asking staff (setup guide).
- Review or social link — a second small code, or switch your menu code's destination to a review page after 21:00 if you like experiments (that's an A/B/scheduling feature dynamic codes make possible).
- Bio-page code — one code opening a mini-page with menu + WiFi + reviews + Instagram as separate buttons, each with its own click tracking.
Cost, honestly
A menu QR setup on QR Global fits in the free tier: dynamic codes, editing, and scan analytics included. Larger floors that want bulk per-table generation via CSV, team access for managers, or API automation are in paid-plan territory — see pricing. Either way, the economics beat reprinting laminated menus every season.
Bottom line: print once, edit forever, and let the per-table numbers tell you what your floor is actually doing. Create your menu QR code.