Menu QR code generator for restaurants
A code for your menu that you can point somewhere new when the menu changes, without reprinting the table tents.
What should the code do?Opens a web page
We add https:// if you leave it off.
Appearance
#000000
#ffffff
Codes with a label are scanned noticeably more often than bare ones.
A logo covers modules. We raise error correction to compensate and then decode the finished code to confirm it still reads.
Higher survives more damage but makes the pattern denser, so each module is smaller at the same printed size.
This sets the size the code needs to be for the distance people will scan it from.
Questions
- Should a menu code be static or dynamic?
- Dynamic, almost always. Menus change and table tents do not. A static code encodes the menu URL permanently, so a new menu means reprinting; a dynamic one lets you point the same printed card at a new file.
- What size should a table tent code be?
- Around 25 to 30mm for a code read across a table, which the sizing on this page calculates from the actual density of your code. Smaller than that and older phone cameras struggle in restaurant lighting.
Before you print
Size is the most common failure, but it is not the only one.
- Test the actual print, not the screen
- Scan it from the physical proof, at the distance and in the lighting people will really use, with an older phone if you have one. A code that scans on a monitor can fail on paper.
- Keep the quiet zone empty
- The blank margin around the code is part of the code. Scanners use it to find the edges. Placing text or a border inside it is the most common design mistake.
- Avoid glossy lamination where you can
- Gloss reflects overhead light straight back into the camera and washes out the pattern. Matt finishes scan far more reliably indoors.
- Do not print on a curve if you can avoid it
- Bottles, cups and cylinders distort the pattern. If you must, keep the code small relative to the curve and use a higher error correction level.
- Tell people what they get
- A code with no label is scanned far less often than one that says what happens next. 'Scan to see the menu' outperforms a bare code consistently.