QR codes for restaurant menus
QR code menus took off because they solve a real problem: printed menus go out of date the moment a price or dish changes, and during the pandemic they also became a hygiene preference. Done well, a QR code menu is faster to update and lets you add photos, allergen notes, or specials without reprinting anything.
Done badly — a tiny code on a dirty table tent that opens a slow, unreadable PDF — it actively annoys diners. Here's how to get it right.
Link to a page, not a PDF
The single biggest mistake is encoding a link to a PDF menu. PDFs are slow to load on mobile data, don't reflow to fit a phone screen, and require zooming and panning to read. Link instead to a simple, mobile-friendly web page — even a one-page site builder export works far better than a PDF.
If you only have a PDF for now, it's still better than nothing — but treat it as a temporary measure and move to a proper mobile page when you can.
Where to host your menu page
You don't need a developer or a subscription to a dedicated menu platform. The main requirement is a stable URL you control that opens fast on a phone and doesn't require an app download. A few practical options, in order of effort:
- Google Sites — free, no-code, and hosted on Google's infrastructure. Create a page, paste your menu text and photos, publish, and copy the URL. Updates are instant. The URL is long but the QR code doesn't care about URL length.
- Notion — free for personal use. A Notion page set to public looks clean on mobile and is fast to update. Add a custom domain if you want a shorter, brandable URL.
- A page on your existing website — ideal if you already have a site. A simple /menu page or a linked page in your CMS gives you full control over design and the URL is short and on-brand.
- Dedicated menu platforms (Mr Yum, Menulog, Zenchef, etc.) — these add QR menus as a feature alongside ordering and table management. Worth considering if you want ordering integration, but unnecessary if you just want a digital menu.
- Avoid: Google Drive PDF links, Dropbox share links, and link-shortener free tiers. All of these can change URL or go offline without warning, silently breaking your printed codes.
Keep the menu updatable without reprinting
The whole point of a QR code menu is that the code itself never has to change — only the page behind it does. As long as the URL stays the same, you can update prices, swap out dishes, or mark something as sold out any time, and every printed code keeps working.
This only holds if you control the destination page yourself. Avoid services that recycle or expire short links after a trial period — your printed table tents will silently break.
Allergen and accessibility considerations
A digital menu is an opportunity to do allergen disclosure properly — something printed menus often handle poorly due to space constraints. A well-structured digital menu can list every allergen clearly against each dish, include preparation notes, and be updated immediately when a recipe changes.
South African food labelling regulations require disclosure of the 14 major allergens (including gluten, nuts, dairy, eggs, shellfish, and sulphites) — a QR-linked menu page makes it straightforward to display this without cluttering the printed table tent.
Accessibility on mobile matters too, particularly for tourist venues:
- Use a minimum 16px body font size — smaller text forces zooming on mobile, which frustrates diners and increases abandonment.
- Ensure sufficient contrast between text and background (WCAG AA: 4.5:1 for body text). Menus with light grey text on white, or white text on a pale background, are common accessibility failures.
- If your venue serves international tourists, consider a language toggle or a translated version of the menu. Even a basic English translation alongside the local language removes a significant barrier.
- Avoid using images of text for menu items — these don't zoom cleanly, can't be read by screen readers, and are awkward to update. Plain text with photos of dishes is the more accessible and maintainable approach.
Designing the table tent or sticker
- Generate the code at a decent size — for a code read from arm's length on a table, aim for around 3–4 cm square minimum.
- Use a high-contrast colour combination on the printed material; coloured paper or a tinted background is a common cause of failed scans.
- Add a short instruction like "Scan for menu" next to the code — don't assume every diner recognises a bare QR code.
- Laminate or use weatherproof stock for table tents that get wiped down often.
Don't make it the only option
Not every diner has data, battery, or the inclination to scan a code. Keep a handful of printed menus available on request, especially for groups, older diners, or anyone visibly struggling — a QR-only menu can come across as unwelcoming if it's the sole option.
Frequently asked questions
Should a restaurant QR code link to a PDF or a website?
A mobile-friendly web page, not a PDF. PDFs are slow to load and awkward to read on a phone. A simple page that reflows to the screen gives diners a far better experience and lets you update content more easily.
Can I update my menu without printing a new QR code?
Yes — that's the main benefit. The QR code just points to a URL; as long as that URL stays the same, you can change the page behind it (prices, dishes, specials) any time without touching the printed code.
What size should a QR code be on a restaurant table?
For scanning from normal seated distance, around 3–4 cm square is a safe minimum. Err larger if your table tents are viewed from further away, and always test with a real phone before printing in bulk.
Should I use a QR code or an NFC tag for restaurant menus?
QR codes for most venues. NFC tags require a tap rather than a scan, which means the tag must be embedded in the table or a physical object within reach — higher cost and more setup. QR codes work at a distance and are universally recognisable. NFC is a reasonable addition for premium venues where a tap feels more polished, but it's a supplement, not a replacement — older phones and some cases block NFC reliably.
What should I do if a customer can't scan the code?
First, check the obvious: is the code printed large enough, with strong contrast, and a clear quiet zone? Test it yourself with a second phone. If the code is fine, the issue is usually the customer's phone camera — older devices may need a dedicated QR scanner app rather than the native camera. Always keep a fallback: a printed menu, or a short URL printed next to the code that they can type into a browser.
Related guides
Ready to create your QR code?
Generate a free QR code in seconds — custom colours, logos, and PNG, SVG or PDF output.
Open the generator