Use cases
Set up a restaurant menu QR code
A practical walkthrough: PDF vs landing page, table-level tracking, and avoiding dead links.
5 min read · Updated April 2026
Menu QRs look simple and they usually are. The details that separate a good setup from a painful one: what you point the QR at, how you handle seasonal changes, and whether you bother with per-table tracking.
PDF or web page?
A web menu beats a PDF almost every time. PDFs open slowly on phones, zoom badly, and some browsers download the file instead of showing it. A lightweight web page — even a single long scroll — loads in a second and lets people tap through to ordering or reservations.
If you already have a PDF and no web menu, that is fine to launch with. You can change the destination later without reprinting; see edit a QR after printing.
One QR or many?
Two sensible setups, depending on what you want to learn:
- One QR for the whole restaurant. Cheapest, simplest. You get total scans per day and know your peak hours, but you won't know which table ordered via phone.
- One QR per table. A bit more work up front — bulk create one per table (see below) — and now your scan analytics double as a crude occupancy signal. Table 7's QR gets scanned 14 times on Friday night; table 23 gets scanned twice; you know where to seat next week's walk- ins.
Bulk-create one QR per table
Skip typing 30 QRs by hand. Make a CSV:
name,url
Table 1,https://menus.example.com/?t=1
Table 2,https://menus.example.com/?t=2
Table 3,https://menus.example.com/?t=3Upload it at Dashboard → Bulk create. You get back a zip of printable images and a CSV with the public scan URLs. Step-by-step: bulk create QR codes from a CSV.
Laminate and place
Print on matte paper if you can, laminate, and put the QR at eye level for a seated diner. Flat on the table beats propped up — propped cards get knocked over. If the code shares a surface with a candle or salt shaker, the shadow will foil some scanners; move it.
Seasonal menu swap
When the menu changes, don't reprint. Open the QR in the dashboard, change the destination to the new menu URL, save. Every printed card across every table updates at once.