QR Codes for Restaurant Menus: A Complete Guide
Everything restaurant operators need to know about menu QR codes — from sizing on table tents to fallback printed copies.
The QR code menu is the rare pandemic-era habit that stuck. Done well, it cuts printing costs, lets you update prices without reprinting, and shifts ordering to people's phones. Done badly, it locks out elderly diners, breaks at peak service, and leaks your menu to ad networks.
This is a working operator's guide. It assumes you've already decided to use a QR menu, and walks through how to set one up that's genuinely fast, accessible, and low-maintenance.
Decide what scanning a QR opens
The biggest decision isn't the QR code; it's the destination. You generally have three options:
- A web page on your existing site with the menu in HTML. Cheapest, most accessible, fastest. Recommended.
- A PDF hosted somewhere. Easy to update from existing menu artwork. Slow on mobile, terrible for accessibility, harder to make zoom-friendly.
- A third-party menu/ordering platform (Toast, Square, OpenTable). Useful if you want online ordering tied to your POS, but adds latency and a third-party domain.
For a basic dine-in menu where customers just want to read what you're serving, an HTML page beats every other option. It loads in a quarter second, scales properly on small screens, works with screen readers, and you control everything about it.
Use a static QR code that points to your domain
Don't pay $20/month for a "dynamic QR menu" service unless you genuinely need its features. Generate a free static QR code that encodes https://yourrestaurant.com/menu — when you want to update the menu, edit the page, not the QR.
If you'd like to track scans, add a UTM parameter to the encoded URL:
https://yourrestaurant.com/menu?utm_source=qr&utm_medium=table-tent
Your existing analytics will show you how many menu views came from the table tent vs. the front-window QR vs. organic web traffic.
Get the print size right
On a table tent or a small placard, scanning distance is about 30 cm. Following the 1/10th rule, the QR itself should be at least 3 cm wide. Larger is fine and gives older phones more grace.
On a wall-mounted menu where guests scan from a meter away, bump the QR to 8–10 cm.
Print on matte stock when you can. Glossy lamination reflects overhead lighting and turns into a mirror at the wrong angle. If you must use glossy, weight your design so the QR isn't in the spot most likely to catch reflections.
Always offer a printed alternative
QR-only menus are a real accessibility problem. Customers who:
- Have a phone with a dead battery
- Have an older phone that struggles with QR scans
- Forgot or broke their reading glasses
- Don't have a phone with them
- Have low vision and find phone menus hard to navigate
… are all served poorly by QR-only menus. Keeping a small stack of printed menus behind the host stand is cheap, kind, and quietly appreciated. Frame the QR menu as the default and the printed menu as the always-available alternative, not the other way around.
Design the destination page for thumbs
Once a customer scans, they're on their phone in a dimly-lit dining room with sticky fingers. Your menu page should:
- Load fast.Aim for a page weight under 250 KB. No video backgrounds. Inline your hero image only if you need one.
- Use a real font size.Body text at 17–18 px minimum. Don't shrink prices to fit them on a single line.
- Section the menuwith sticky category headings so people can jump from "Appetizers" to "Desserts" without scrolling through the whole list.
- Mark allergens and dietary tags clearly.Use icons plus text — not color alone. Color-blind users and people on low-quality phone screens shouldn't have to guess.
- Skip the autoplay video, the chat widget, and the newsletter modal.They're hostile in a dining room.
Plan for offline guests
Restaurants in basement rooms, on the edge of cell coverage, or with overloaded WiFi see real failure rates from QR menus. Two small mitigations:
- Offer guest WiFi at the table. Print the WiFi password near the QR code (or generate a separate WiFi-config QR code; most phones can join a network from one).
- Make the menu page work offline-ish.If you're comfortable with web tooling, a service worker can cache the menu after the first visit so a returning guest with spotty signal still sees it.
Branding without breaking scanning
It's tempting to drop your logo in the center of the QR code. You can — just make sure you're using level H error correction (most generators, including QR This!, do this automatically when you upload a logo) and keep the logo within ~30% of the QR's width.
Keep the QR color in your brand palette if it has high contrast with white. Deep navy, burgundy, forest green — all fine. Pastels and yellows on white — risky.
Operations: maintaining the QR over time
- Print extras. Table tents get spilled on, stolen, scuffed. Buy 25% more than you need.
- Tape down loose ones. A QR code on a flat plastic stand resists wear better than a paper card the waitstaff has to chase across a windy patio.
- Test scan once a month.Walk a phone around the restaurant and scan every code. You'll catch the ones that aged out before customers do.
- Don't change the destination URL. Edit the page in place. If you must change the URL, set up a 301 redirect from the old path so existing printed codes keep working.
The short version
Generate a free static QR code on QR This! pointing at a fast HTML menu page you control. Print it big, print it on matte, keep printed menus behind the host stand for guests who need them, and walk a phone around once a month to make sure everything still scans. The rest is just running a restaurant.