# Menu QR codes — how they work

> A menu QR code points at a web page or PDF of your menu. The choice between them matters more than the code: a mobile-friendly HTML page loads in under a second on a weak connection, while a PDF forces pinch-zooming and often fails on cellular in a busy room.

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

---

## Point at HTML, not a PDF

The single biggest determinant of whether a menu QR code works is what sits at the
other end.

| | Mobile web page | PDF |
|---|---|---|
| Load on weak 4G | fast | slow, often 2–10 MB |
| Reading | reflows to the screen | pinch and pan |
| Screen readers | works | usually not |
| Updating a price | edit and save | re-export, re-upload |
| Search engines | indexable | poorly |

A PDF menu is the most common implementation and the worst one. If a PDF is
unavoidable, keep it under 1 MB and typeset it in portrait at phone proportions.

## Accessibility is not optional

A menu that only exists behind a QR code excludes anyone without a smartphone, with low
vision, or with a flat battery. In several jurisdictions an inaccessible menu is a
discrimination risk, not merely bad service.

The fix costs nothing: keep printed menus available and offer them without the customer
having to ask. Make the web menu real HTML with proper headings and text contrast, not
an image of a menu. Allergen information in particular must be reachable by a screen
reader.

## Sizing for a table

A code on a table tent is read from roughly 30–40 cm:

- **Minimum 3 cm × 3 cm** of code, not counting the frame.
- Error correction **M**; **Q** if you are putting a logo in the middle.
- **Matt** stock. Gloss under downlights is the most common real-world failure in
  restaurants, and no amount of error correction fixes a specular reflection.
- Keep it vertical on a tent card, not flat on the table — flat codes get glare from
  ceiling lights and are scanned at a steep angle.

## What actually goes wrong

1. **Guest WiFi is captive-portal gated.** The code opens the portal, not the menu.
   Either whitelist the menu domain or tell people to use cellular.
2. **The menu URL changes when you update it.** Use a stable path
   (`example.com/menu`) that you update in place, never a dated file name.
3. **Glare.** See above.
4. **Codes printed too small** to look tidy on the tent card.

## Beyond the menu

The same code can carry ordering and payment, which is where QR menus actually earn
their keep — table number in the URL (`example.com/menu?table=7`), order placed and
paid without waiting for staff. That requires a real ordering platform; the QR code is
the cheapest part.

## FAQ

### Should my menu QR code link to a PDF?
Prefer a mobile web page. PDFs are large, slow on a busy restaurant's cellular signal, need pinch-zooming and are generally inaccessible to screen readers.

### How big should a table menu QR code be?
At least 3 cm square for a 30–40 cm reading distance, printed on matt stock and standing vertically. Gloss laminate under downlights is the most common cause of failure.

### Do I still need printed menus?
Yes. A QR-only menu excludes people without a smartphone, with low vision or with a flat battery, and in some jurisdictions that is a legal risk as well as poor service.

### Why does the menu not load for guests on my WiFi?
A captive portal is intercepting the request. Either whitelist your menu domain on the guest network or advise customers to use mobile data.

## Try it

- https://useqr.app/menu
- https://useqr.app/url
- https://useqr.app/pdf
