How to Create a QR Code for a Restaurant Menu
The mistake is encoding the menu. Encode the address of a page you control, and change the page whenever the menu changes.
Point it at a page, not at a file
If the code points straight at a PDF, then every price change means a new PDF, a new code and a new set of printed table stands. If it points at a page on your own site — yourrestaurant.com/menu — you change the page and every code already on every table is instantly up to date.
This is also the answer to the thing people worry about with static codes. You do not need the code to be changeable if the page behind it is.
Getting it right at the table
- Size: 3 cm minimum. Diners scan from about 30 cm, and the 10:1 rule gives you 3 cm.
- Finish: matte, not gloss. Restaurant lighting is full of small bright sources and gloss throws them straight into the camera.
- Position: upright on a stand beats flat on the table. A flat code makes people lean over it and shadow it with their own phone.
- Words: put “Scan for the menu” next to it. A bare square tells nobody what will happen.
Make the page work on a phone
Everyone arriving through that code is on a phone, in dim light, possibly with a drink in the other hand. A PDF that has to be pinched and dragged is a bad experience. A plain web page with readable text, clear prices and no pop-ups is a good one.
The physical stand
Laminated cards curl, get sticky and end up in the bin. A 3D-printed stand in two colours costs pennies in filament, cannot curl, wipes clean and lasts years. Design the code here, download the 3MF, and any home 3D printer will produce it in two filament colours with the contrast already correct.
Print two or three first and check them at a real table, under the real lights, at night. Restaurant lighting is where menu codes usually fail.