# QR code size for a menu

> Print menu QR codes at 2.5–3 cm for a menu held in the hand and 4 cm if it lies flat on the table, with error correction Q for wear. Specify matt laminate: a gloss surface under a restaurant downlight throws a specular hotspot that no error correction can recover.

Source: https://useqr.app/docs/print/qr-code-size-for-a-menu · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## Seated distances

A diner scans from a chair, and the geometry is consistent everywhere:

| Context | Distance | Minimum code width |
|---|---|---|
| Menu held in the hand | 25–30 cm | 2.5–3 cm |
| Menu flat on the table | 40 cm | 4 cm |
| Sticker on the table surface | 35 cm | 3.5 cm |
| Wall menu behind a counter | 1.5–2 m | 15–20 cm |

**3 cm is the working minimum** for a physical menu. It covers the in-hand case with
margin. If the code is the menu (a card or sticker that stays on the table), size for
40 cm, because nobody picks up a glued-down sticker. Counter-service wall menus are
posters in disguise; size them with the
[ten-to-one rule](/docs/print/the-10-to-1-distance-rule), not menu instincts.

## Error correction: Q, for once

Menus lead a hard life: wiped nightly, stacked, splashed, scratched. That damage is
*localised*, which is precisely what
[error correction](/docs/spec/error-correction-levels-explained) repairs, so **EC Q (25%
recovery)** earns its density cost here. A short URL at EC Q still sits around version
3–4; at 3 cm that is a healthy 0.7–0.9 mm module.

## The laminate hotspot

The menu-specific failure is glare. Restaurant lighting is point-source (downlights and
pendants), and a gloss laminate reflects them specularly. At typical table geometry the
reflected hotspot lands more or less where the diner's phone is aimed, washing out a
patch of the code. Error correction cannot help: glare is not damaged modules, it is a
region with no contrast at all, and if the hotspot covers a
[finder pattern](/glossary/finder-pattern) the scanner never locates the code in the
first place.

The fixes, in order of effectiveness:

1. **Matt laminate.** Same durability, diffuse reflection. Specify it; gloss is the
   default at many print shops. See
   [laminate and varnish effects on scanning](/docs/print/laminate-and-varnish-effects-on-scanning).
2. Placement away from the table's overhead light line, the
   [glare guide](/docs/print/qr-codes-on-glossy-surfaces-and-glare) covers the angles.
3. A caption telling diners they can lift or tilt the menu, which they do anyway when a
   scan fails, but a hint shortens the fumble.

## Payload notes

Link straight to the menu, not the homepage, a [menu QR code](/menu-qr-code) pointing at
`yoursite.example/menu` keeps the payload short and the version low. Keep it stable: the
code outlives the laminate, so the URL must
[survive redesigns](/docs/basics/do-qr-codes-expire). Check the numbers with the
[size calculator](/size-calculator) and [verify the artwork decodes](/validate) before
laminating fifty copies. Presentation formats (stands, tents, stickers) are compared on
the [menus surface page](/qr-codes-on/menus).

## FAQ

### What size should a QR code be on a restaurant menu?
2.5–3 cm on a menu diners hold, 4 cm on anything read flat on the table. Seated scanning distance runs 30–50 cm, and the flat-on-table case is the one most menu codes are undersized for.

### Why won't the QR code on my laminated menu scan?
Usually glare. Gloss laminate reflects overhead downlights as a bright hotspot with no contrast, and if it covers part of the code (especially a corner finder pattern) the scan fails. Re-laminate in matt, or move the code away from the reflection line.

### What error correction level should a menu QR code use?
Q. Menus accumulate scratches, wipe marks and food stains, which are localised damage that 25% error correction genuinely repairs. The density cost is small for a short menu URL.

### Is a QR code on the table better than one on the menu?
Table stickers and tents survive menu redesigns and are always present, but they are read from further away, size them at 3.5–4 cm minimum and expect harder wear. Both work when sized for their actual distance.

## Try it

- https://useqr.app/menu
- https://useqr.app/url
- https://useqr.app/size-calculator
- https://useqr.app/validate
