QR Codes on Menus: What Restaurants Get Wrong (And Right)
A QR code on a restaurant table looks like the simplest technology in the building: point a phone at it, read the menu, order food. Yet anyone who has watched a diner squint at a faded code, wait for a homepage to load, or give up and ask for a paper menu knows the idea fails more often than it should. The code itself almost never breaks. The setup around it does.
This guide covers the mistakes restaurants make with menu QR codes and the straightforward setup that avoids them: the right size, the right placement, a menu page that loads fast, and a fallback for the night the Wi-Fi drops. No app download, no new hardware, and no redesign of the whole restaurant is required.
The code must open the menu, not the homepage
The single most common mistake is pointing the QR code at the restaurant homepage. A hungry diner does not want the story of the chef, the gallery, or the booking form; they want the dishes and the prices. Every extra tap between the scan and the menu is a chance to lose them, and on a slow connection it is a certainty.
Point the code directly at the menu page, and make that page the whole job: dishes, prices, dietary notes, and an order or call button. If the menu changes with the seasons, the code should still work, because the code points at a web address you control, not at a printed menu frozen in time. When the soup of the day changes, you change the page, and every table sees the new version at once.
Size it for the distance people actually scan from
A QR code that is too small is the second most common failure, and it is easy to prevent with a simple rule of thumb: the code should be about one tenth of the distance people scan it from. A code scanned from 30 centimetres away, roughly the distance from a seated diner to a table tent, wants to be about 3 centimetres across. A code on a wall poster scanned from two metres away needs to be far larger, closer to 20 centimetres.
Treat those numbers as a floor, not a target. Phones with older cameras, dim evening light, and a slightly shaky hand all make scanning harder, so a little extra size costs nothing and saves a lot of squinting. Print a test copy at the real size, stand where a diner would stand, and scan it with the oldest phone in the building before you print a hundred copies.
Put it where eyes already go
Placement matters as much as size. The best spot is the table tent or the table itself, at eye level for a seated diner, where the code is visible the moment someone sits down. The worst spots are the back of the receipt, the bottom of a busy poster, and a code half-hidden behind the salt shaker.
One code per table is enough, and one code that appears in several places is better than five different codes. A diner should never have to wonder which code is the menu and which one is the Wi-Fi, the review page, or the loyalty signup. If you offer Wi-Fi, label it clearly and keep it separate from the menu code, so nobody scans the wrong one and lands somewhere unexpected.
Design choices that quietly break scanning
QR codes are forgiving, but they are not indestructible. Low contrast is the quiet killer: a pale code on a cream card, a code printed over a food photograph, or white dots on a dark background all make the camera work harder, and in dim light they fail outright. Dark code on a light background, with a clear empty margin around it, scans best every time.
Keep the centre of the code clear as well. A logo stamped over the middle can work if it is small, but a large logo that covers the positioning squares in the corners will stop the scan completely. Glossy lamination is another trap: it looks smart, but overhead lights reflect off it straight into the camera. Matte card, a plain background, and an untouched quiet zone around the code beat a fancy design that nobody can scan.
The menu page itself has to be fast and readable
A code that scans perfectly can still fail if the page it opens is a 40-megabyte scanned PDF that takes a minute to download. Diners read menus on phones, so the menu page should be a real mobile page: text that can be searched and enlarged, sections for starters, mains, and desserts, and prices next to every dish. A photo of a printed menu is not a mobile menu.
Keep the page light, skip the autoplay video, and test it on a slow connection, not just on the restaurant Wi-Fi. If the page takes more than a few seconds to show the first dishes, shorten it: fewer images, smaller images, and no scripts that are not earning their place. A diner who can read the menu in seconds orders sooner and asks staff fewer questions.
Always have an offline fallback
Every QR menu system fails sometimes. The Wi-Fi drops, a diner arrives with a dead phone, or an older guest simply does not scan codes. A restaurant with no fallback turns those moments into an awkward wait while staff hunt for a paper menu that may not exist anymore.
The fallback is simple: keep a small stack of printed menus behind the counter, and put the Wi-Fi password on the table tent next to the code. Staff should be able to hand over a paper menu without being asked twice, and without making the guest feel like a problem. The QR code is the default, not the only option, and the fallback is what keeps a bad Wi-Fi night from becoming a bad review.
A worked example: a 40-seat cafe gets it right
A small cafe with ten tables was losing orders to its own QR setup: the code was 2 centimetres wide, printed on a glossy card, and pointed at the homepage. Diners scanned it, waited, and then queued at the counter to ask what was available. The fix took one afternoon and cost almost nothing.
The cafe printed one matte table tent per table with a 4-centimetre code, pointed the code at a simple mobile menu page, and put the Wi-Fi password underneath it. Paper menus went back behind the counter for anyone who wanted one. The result was not magic, just fewer questions: diners found the menu in seconds, staff spent less time explaining the code, and the counter queue shortened because people arrived already decided.
How to tell whether your setup works
You do not need analytics software to judge a menu code. Watch one lunch service and count: how many tables scan without help, how many ask staff what to do, and how many give up and ask for paper. If more than a couple of tables a service need help, something in the setup is wrong, and the fix is usually size, placement, or the page the code opens.
Test the code yourself once a week, with a different phone each time, and after every menu change. Codes fade, cards get stained, and a menu link can break silently when a page is renamed. A weekly thirty-second scan catches all three before a diner does, and it is the cheapest quality check in the restaurant.
Make a code that actually scans
Before you print anything, make the code with the free QR code generator and test it at real size, in real light, with a real phone. A code that scans on the first try is the whole job, and the test takes less than a minute.
Frequently asked questions
How big should a QR code on a restaurant menu be?
Use the rule of thumb that the code should be about one tenth of the scanning distance: roughly 3 centimetres across for a table tent scanned from 30 centimetres away, and larger for wall posters scanned from further off. Print a test copy at real size and scan it with the oldest phone in the building before printing the full run.
Should a restaurant menu QR code open the homepage?
No. It should open the menu page directly, with dishes, prices, and dietary notes. Every extra tap between the scan and the menu risks losing the diner, especially on a slow connection.
Do QR menus need an app?
No. A QR code that opens a normal mobile web page works with the phone camera alone. Forcing diners to download an app is one of the fastest ways to make them ask for a paper menu instead.
What if a customer cannot scan the code?
Keep printed menus behind the counter and the Wi-Fi password on the table tent. Staff should be able to hand over a paper menu without a fuss, so a dead phone or a dropped connection never becomes a bad experience.
Why does my menu QR code not scan in dim light?
The usual causes are low contrast, a code printed over a photograph, a glossy surface reflecting overhead lights, or a logo covering the corner squares. Use a dark code on a plain light background, matte card, a clear margin around the code, and a small logo at most.
Can I change the menu without reprinting the codes?
Yes, if the code points at a web address you control. Change the menu page and every table sees the new version at once, which is the main advantage of a QR menu over a printed one.