A QR code that does not scan on the first try costs more than a printed menu, because the diner now has to ask for one.
Size
Print at 30 mm across or larger for a code read from table distance. The working rule is that scanning distance is roughly ten times the code's width, so a 30 mm code reads comfortably at about 300 mm — which is where a phone sits when someone is seated.
For a counter code read from a queue, go to 60 mm or more. People will not lean in.
The quiet zone is not optional
Leave a clear margin of at least four modules — the small squares the code is built from — on every side. In practice, print the code with white space around it equal to about 10% of its width. Designs that crop tight into a coloured background are the single most common reason a code fails.
Never invert
Dark code on a light background. Many camera apps still fail on inverted codes, and the ones that succeed take longer. This is the rule people break most often because an inverted code looks better on a dark table card, and it is not worth it.
Send the printer a vector
PNG is fine for stickers and screens. For anything a print shop produces, send SVG. It stays sharp at any size and the printer will not resample it.
Where to put it
- Table stickers survive being moved and wiped. The most reliable option.
- Table tents are easy to replace and give you room for a line of instruction.
- Printed menus with the code in a corner suit venues keeping a physical menu as well.
Add one line of text under the code: Scan for our menu. Without it, a meaningful number of diners assume the code is for payment or Wi-Fi.
Test before the run
Scan it yourself, at the table, in your dining room's actual lighting, on one iPhone and one Android. Lighting is the variable people skip — a code that reads fine under the shop's fluorescents can fail under warm evening lighting at 15% brightness.