QR codes for restaurant menus
Where to host the menu, what to print it on, how big to make it — and why you should keep a stack of paper menus behind the bar.
Short answerHost your menu as an ordinary web page at a fixed address on your own domain, generate a static QR code for that address, and print it about 3 cm wide on table tents. Keep the URL unchanged and you can edit prices daily without reprinting anything.
Where to host the menu
This is the decision that matters, and it is made before any QR code exists. The code encodes an address; everything good or bad about the experience lives at that address.
| Option | Good | Bad |
|---|---|---|
| Page on your own site | Full control, stable URL, fast, free to change. | Needs someone to edit it. |
| PDF on your own site | Easy to produce from existing artwork. | Renders badly on phones; often several megabytes. |
| Menu platform (subscription) | Easy editing, sometimes ordering built in. | Monthly fee; the URL is theirs; codes die if you stop paying. |
| Delivery platform listing | Already exists. | Pushes diners towards ordering elsewhere, with commission. |
| Cloud-storage link | Free and quick. | Ugly URLs, permission problems, and preview screens. |
A plain web page on your own domain wins on every axis that matters after the first week. Pick an address like yourrestaurant.com/menu, and treat it as permanent.
What makes a good menu page on a phone
- HTML, not PDF. A PDF opens at fixed width, forces pinch-zooming, and often downloads before it displays. A web page reflows to the screen.
- Fast. Diners are on mobile data inside a building. Aim for a page that loads in a couple of seconds on a poor connection.
- Readable without zooming. Body text at a normal size, not a scan of a printed menu.
- Prices next to items. Not in a separate column that ends up off-screen.
- Allergen and dietary marks. Legally required in many places and genuinely useful everywhere.
- No login, no cookie wall, no app prompt. Every interruption between the scan and the food loses someone.
If a PDF is genuinely all you have, make it single-column and portrait, and keep it under a couple of megabytes. See PDF QR codes for how hosting affects the link.
Printing and placement
Sizes that work
| Placement | Read from | Code width |
|---|---|---|
| Table sticker or tent | 30 cm | about 3 cm |
| Placemat | 40 cm | about 4 cm |
| Bar or counter card | 50 cm | about 5 cm |
| Window decal | 1.5–2 m | 15–20 cm |
| A-board on the pavement | 2 m | about 20 cm |
Materials
- Matte, not gloss. A laminated table tent under a downlight reflects straight into the camera.
- Table tents beat stickers for legibility, because they stand at an angle facing the diner.
- Stickers survive better on busy tables, and cannot be knocked over or taken home.
- Keep it off the table edge, where drinks and elbows land.
- Reprint when it wears. A scratched code still reads until suddenly it does not.
Caption it
“Scan for our menu” beside the code outperforms a bare square, particularly with older diners who will not guess. Add the plain web address underneath in small type: it costs nothing and rescues anyone whose camera will not cooperate.
Keep the paper menus
QR-only menus exclude people, and the exclusion is not marginal. Diners without a smartphone, without a data plan, with low vision, with tremor, or with a nearly flat battery all hit a wall at the table.
Beyond the practical problem, accessibility law in a number of jurisdictions effectively requires an alternative to a digital-only menu, and consumer-protection regulators have taken an interest in menus that collect personal data before showing prices. The safe position is also the hospitable one.
- Keep a stack of printed menus and offer one without being asked twice.
- Make sure staff know where they are.
- Ensure the web menu itself works with a screen reader and at large text sizes.
- Never require an app, an account, or an email address to see the food.
The QR code should save you reprinting costs when prices change, not save you from having menus at all.
Make a menu code with no subscription and nothing that can expire:Menu QR code generator