Skip to content

Use cases

QR code menus people actually manage to use

Placement, size and lighting for a QR menu in a real dining room, why serving a PDF is the usual mistake, and the tamper check every venue should be doing.

by Kyllian 7 min read

Table twelve is holding a phone eight centimetres from a table tent in a room lit at candle level, and nothing is happening. Three tables away, someone has given up on a PDF that opened at A4 width and is asking for a paper menu. Both are ordinary evenings in a venue that did the QR menu the way the printer suggested.

Almost everything that goes wrong here is decided before anything is printed.

Where the code goes

PlacementScan distanceSizeWatch out for
Table tent25–30 cm3–4 cmGets moved, knocked over, taken to the bar
Sticker flat on the table40–60 cm4–5 cmWear, spills, gloss finish under a downlight
Printed on the menu card25–30 cm3 cmReprinted whenever the menu changes
Window or A-board1.5–2 m15–20 cmDaylight glare, reflections, plate glass
Receipt or bill folder25 cm3 cmThermal print fades and is low contrast

A table tent is the default because it stands upright, which matters more than it sounds: a code lying flat on a table is read at an angle by a diner leaning across it, and every degree off perpendicular costs you margin. If the code must be flat, size it as though it will be read from the far side of the table, because it will be.

Printing the code onto the menu card itself is the quietly good option for venues that already reprint the card weekly, and it is one place a static code costs you nothing, because the artwork is going through the printer anyway. It cannot be moved, cannot be covered, and arrives at every seat.

Size for the distance people actually sit at

The tenth-of-the-distance rule from the print size guide gives 3 cm for something read at 30 cm. That is a floor derived from clean conditions, and a dining room is not clean conditions. Add 30% and print 4 cm. The paper costs nothing; a table asking staff to read out the menu costs a table.

Keep the URL short and the code stays sparse. A 33-character menu URL encodes as a 29-module symbol; the same link carrying four UTM parameters runs to 45 modules, and at a fixed 4 cm that drops each module from 1.4 mm to 0.9 mm. Still fine at 4 cm, and precisely why you should not shrink the code to 2 cm to fit a design. If you want the tracking, tag the URL properly and give the code the room it needs.

Light is the hard constraint

A restaurant at service is the most hostile lighting a QR code routinely faces. In low light a phone camera lengthens its exposure and raises gain, so you get motion blur from a hand-held phone and sensor noise across the whole frame at once, and autofocus hunts because there is little contrast to lock onto.

That changes three decisions:

  • Pure black on white. Not the brand’s charcoal on cream. A decoder thresholds the image to black and white before it does anything else, and in a noisy dark frame a low-contrast pair collapses into one grey.
  • Matte, always. Gloss laminate under a spotlight or a candle throws a highlight across half the symbol. Matte laminate protects the card just as well and scatters the light instead of returning it.
  • Bigger modules beat clever error correction. Level M is right. Going to H adds modules, shrinks each one at the same card size, and makes the low-light problem worse — the opposite of what people assume they are buying. The FAQ has the damage tolerance each level actually gives you.

The page behind the code

The single most common mistake is pointing the code at a PDF.

A PDF is a fixed-layout document. On a phone it opens at page width, so the diner pinches and pans around a dark room to read a wine list. It is frequently several megabytes, arriving over venue wifi shared with forty other people or a 2-bar mobile signal in a basement. Its text does not reflow, so a guest who uses a large system font gets no benefit from it. If it was exported as a flattened image — which happens whenever the design came from a print file — it contains no real text at all, and a screen reader gets nothing. On some Android setups it simply downloads a file and leaves the guest looking at a notification.

Serve a web page instead:

  • One column, real HTML text, headings per section so the page can be skimmed and navigated.
  • Under about 100 KB, no hero image, no web fonts that block rendering.
  • No login, no app prompt, no cookie wall between a hungry person and the starters.
  • Prices, allergens and dietary marks as text, not as part of an image.
  • Editable in a minute, so the Tuesday special is right on Tuesday.

The test is simple: put your phone on the slowest network you can find, open the link, and see whether you can read the mains without touching the screen.

Accessibility, and the paper fallback

A digital-only menu excludes anyone with a flat battery, no data allowance, no smartphone, or vision that a 4-inch page of 12-point text does not serve. That is not a small group in a dining room, and in many jurisdictions a menu is part of the service being offered rather than a marketing extra, which brings accessibility obligations with it.

Keep paper menus. Say so on the table tent, in words, next to the code: paper menus available — just ask. It costs one line of print, removes an awkward conversation from every shift, and means the QR menu is a convenience rather than a barrier. A page with real text, proper headings and adequate contrast also happens to be the version that works best for everyone else.

Laminating and the sticker attack

A QR code on a table is a trust anchor pointing at a URL nobody can read before they tap it, and that is a genuinely exploitable position. Someone puts a vinyl sticker carrying their own code over yours; diners land on a page that imitates your menu and asks for card details to “start a tab”, and the venue finds out from the chargebacks. The full set of countermeasures — readable own-domain destinations, never requesting payment through a code, auditing placements, and what to tell a customer who has already tapped — is in QR code scams and how to check a code.

Two of them are specific to a dining room. Print the code directly onto the laminated card instead of applying it as a peel-off sticker, and frame it in artwork that runs up to the quiet zone: a sticker over a sticker looks normal, while a sticker over printed artwork does not. Then fold a ten-second look at each table into the same walk-through that checks the cutlery, at open and at close.

Matte laminate on 300–350 gsm board survives a service; unlaminated card curls in the first week and a curled code sits at an angle to every camera.

Before you print two hundred of them

  • Print one at final size on the final stock and scan it at the table, in service lighting, seated.
  • Test on a cheap Android phone as well as an iPhone.
  • Load the linked page on mobile data, not on the office wifi.
  • Confirm it is a web page and not a PDF, and that the text is selectable.
  • Check the quiet zone survived the layout — four blank modules on all sides.
  • Confirm the URL still resolves without a trailing-slash redirect or a www hop, each of which adds a round trip on a bad connection.
  • Add the paper-menu line to the artwork.
  • Note the URL somewhere staff can check it against a suspicious sticker.
  • Generate the final file as SVG from the generator so it stays sharp at whatever size the printer lands on.

Get those nine right and the code disappears into the furniture, which is the only outcome anybody wanted from it.

If the same table tent also carries the guest network — most of them do — build that one at make a WiFi QR code, which assembles the WIFI: string and its escaping for you, and print the network name and password as readable text beside it for the guest whose camera app does not understand the prefix.

Frequently asked

How big should a QR code on a restaurant table be?
About 3 cm for a table tent a seated diner leans towards, and 4 to 5 cm for a code stuck flat on the table that people scan from across it. Dining rooms are dim, so add roughly a third on top of the usual tenth-of-the-distance rule rather than sizing to the minimum.
Why should a QR menu not link to a PDF?
A PDF opens at a fixed page width, so the diner pinches and pans through it in a dark room, often after a multi-megabyte download over saturated venue wifi. Text does not reflow for larger font sizes and screen readers cope badly. A plain mobile web page solves all of that and can be edited without regenerating anything.
Do restaurants still need paper menus if they have a QR code?
Yes. A digital-only menu excludes anyone with a flat battery, no data allowance, no smartphone or limited vision, and in many places menus count as part of the service being offered. Keep paper copies behind the bar and say on the table tent that they are available on request.
Can someone stick their own QR code over ours?
It happens, and it is trivially easy. A vinyl sticker over your code sends diners to a page that imitates yours and asks for card details. Print the code directly onto a laminated card rather than using a peel-off sticker, surround it with artwork a plain sticker would obviously cover, and check the tables at open and close.

Make the code this guide describes

The generator runs in your browser — add a logo, pick colours, tag the link with UTM parameters and download a PNG or SVG. No account, no watermark.

Keep reading

← All guides