QR Codes for Restaurant Menus, Done Right
Menu QR codes can be effortless or infuriating. How restaurants can use static QR codes that never expire and always scan.
A QR code for your restaurant menu should do one simple thing reliably: send hungry guests straight to your menu, every time, for years, without a monthly bill or a middleman who can switch it off. Done right, it's a tiny, permanent bridge between your table and your food. 🐾
QR menus became everyday furniture on café tables and bar counters, and most of them work well. But a surprising number are quietly fragile — they route through a vendor's server, expire when a trial ends, or lock your menu behind someone else's subscription. This guide shows how to build a menu code that just works and keeps working.
Why use a QR code for a menu at all?
A menu code earns its place when it saves you reprinting and gives guests an easy, contactless way to browse. The wins are practical:
- Update the menu without reprinting the table tents. Change the dish, not the sticker — as long as the code points to a menu page you control.
- Cheaper seasonal changes. Swap prices or specials on your website; the printed code stays the same.
- Cleaner tables. One small code beats a stack of laminated sheets.
- Accessibility. Guests can zoom text, switch languages, or use a screen reader on their own phone.
The catch is that all of this depends on where the code points and who controls the link. That's the decision that matters most.
Static link to your own page, not an expiring vendor
Here's the core recommendation: make a static QR code that points to a menu page you host — your own website, a PDF on your own domain, or a simple hosted page. A static code contains the real URL baked into the pattern, so it never expires and no one can turn it off.
Many "free" QR menu services instead hand you a dynamic code: it encodes a short redirect through their server. That sounds convenient until the trial ends, the price jumps, or the company disappears — and your printed codes go dark overnight. Because the code only holds a redirect, whoever runs that redirect holds the off switch.
If your menu URL is stable, you don't need a dynamic code. You need a static code and a page you control.
The trick people reach for dynamic codes to solve — "my link is too long" — is better solved at the source. Use a short, clean URL like yoursite.com/menu and the static code stays small and crisp. Our guide to static vs dynamic QR codes lays out the trade-offs in full, and the case for static QR codes explains why printed things especially want permanence.
What should the code actually point to?
Point it at the simplest thing that loads fast on a phone with one bar of signal in a dim room:
- A mobile-friendly web page — best option. Fast, zoomable, updatable, accessible.
- A lightweight PDF on your own domain — acceptable, but PDFs can be slow and awkward to zoom.
- Avoid heavy apps, forced sign-ins, or pages that demand location and personal data before showing a single dish.
Whatever you choose, host it somewhere you own so the destination can't be taken hostage.
Where should I place the code on the table?
Placement decides whether guests actually scan. A few field-tested rules:
- At comfortable reading height. A code lying flat on a low table forces an awkward angle; a small standing tent or a card propped upright scans faster.
- One per table minimum, ideally reachable without leaning across dishes.
- Add a short instruction: "Scan for our menu." A tiny bit of guidance dramatically lifts scan rates for older or hesitant guests.
- Keep a few paper menus on hand. Some guests can't or won't scan, and that's fine — the code is a convenience, not a wall.
How do I print a menu code that always scans?
A menu code lives a hard life: sauce, condensation, dim lighting, curious toddlers. Give it the best chance:
- Strong contrast. Dark code on a light background. Skip low-contrast brand colours that look elegant but scan poorly.
- Keep the quiet zone. Leave a clear margin around the code — roughly four modules of blank space. Crowding it with text or a border breaks scanning. See our quiet zone guide.
- Size it generously. A rough rule is minimum width ≈ scan distance ÷ 10. For a code read at about 30 cm across a table, aim for at least 3 cm; bigger is safer.
- Export vector or high-DPI. An SVG or a high-resolution PNG prints crisp; a stretched low-res screenshot prints fuzzy and fails.
- Avoid glare and curves. Matte laminate beats glossy under overhead lights, and a flat card beats a code wrapped around a bottle.
- Test before the print run. Scan the proof with several phones — old and new, iOS and Android — before ordering a thousand table tents. Our printing guide covers this in depth.
Is a QR menu accessible for everyone?
Accessibility is where a well-built menu code shines — and where a lazy one fails. To keep it inclusive:
- Make the linked page responsive and zoomable. Don't disable pinch-to-zoom; let guests enlarge text.
- Use real text, not an image of a menu. Screen readers can't read a photo of your menu; they can read HTML.
- Offer an alternative. Keep large-print or paper menus for guests without a compatible phone or with visual impairments.
- Add allergen and dietary info in text — a digital menu is a great place to include detail that won't fit on a printed card.
A menu code should widen access, never narrow it. If scanning is the only way to see the menu, some guests are left out.
A simple, durable setup
Put it together and the recipe is short: host a fast, readable menu page on your own domain; generate a static QR code pointing to it; print it with strong contrast, a clear quiet zone, and a sensible size; test on real phones; and keep a few paper menus nearby. No subscription, no expiry, no vendor holding your dinner service hostage.
When you're ready, you can create a free QR code in your browser — QR Puppy generates static codes for URLs, Wi-Fi, contact cards and more, with a design studio to match your brand, and nothing is tracked or stored. Your menu code is yours, permanently.
Frequently asked questions
Will my menu QR code expire?
Not if it's static. A static code has your real menu URL baked into the pattern, so it works forever with no server to keep alive. Codes expire only when they're dynamic and route through a vendor's redirect that can be switched off.
Can I update the menu without reprinting the code?
Yes, as long as the code points to a page you control. Change the dishes or prices on that page and the printed code keeps working — the URL stays the same, only the content behind it changes.
Should the code link to a PDF or a web page?
A mobile-friendly web page is best: it loads fast, zooms cleanly, and is readable by screen readers. A PDF on your own domain works but can be slower and harder to zoom. Either way, host it yourself.
How big should a table QR code be?
For a code read from about 30 cm, aim for at least 3 cm wide, using the rough rule of minimum width ≈ scan distance ÷ 10. When in doubt, go bigger and keep the quiet-zone margin clear.
What if a guest can't scan the code?
Keep a few paper or large-print menus available. A QR menu should be a convenience layered on top of an accessible experience, never the only way to see what's for dinner.
Make a QR code the honest way 🐾
Free forever, no tracking, no expiry — generated right in your browser.