# QR codes on menus and table tents

> A menu QR code is read from 30–40 cm across a table, so 3–4 cm is right. The dominant real-world failure is not size but glare: a glossy laminated table tent under restaurant downlighting reflects straight into the camera.

Source: https://useqr.app/qr-codes-on/menus · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

| Typical scan distance | **30–40 cm** |
|---|---|
| Minimum code width | **3–4 cm** |
| Error correction | **M** |

## Vertical, not flat

A code lying flat on the table is scanned at a steep angle and catches ceiling lights head
on. A table tent holds it near vertical, which fixes both problems at once. This single
change fixes more restaurant QR failures than anything else.

## Matt, always

Gloss lamination under warm downlights produces specular reflection across the whole code.
Error correction does not help — the decoder sees a uniform bright patch, not damaged
modules. Matt or soft-touch laminate only.

## Keep the URL stable and short

`example.com/menu`, updated in place. Never `example.com/menus/spring-2026-v3.pdf`. A short
URL also means a lower version and larger modules at 3 cm.

Point at [HTML rather than a PDF](/menu-qr-code) — PDFs are slow on a busy restaurant's
cellular signal and need pinch-zooming.

## Captive portals

If guest WiFi has a captive portal, the code opens the portal instead of the menu. Whitelist
the menu domain on the guest network, or tell customers to use mobile data.

## Keep printed menus

A QR-only menu excludes anyone without a smartphone, with low vision, or with a flat
battery — and in several jurisdictions that is a legal exposure, not just poor service.

## Try it

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