QR Codes for Restaurant Tables: A Step-by-Step Setup Guide
A QR code on a restaurant table looks like a five-minute job. Most of the ones that fail in service were built in five minutes: printed too small, laminated with a glossy film that throws back the ceiling lights, or pointing at a URL that changed when the menu did. This guide is the version that survives a full Saturday night.
Decide what the code points at before you print anything
There are three common targets, and they behave very differently once the code is on the table.
- A PDF of your menu. The worst option. Guests pinch and zoom on a document designed for A4 paper, and every price change means a new file, a new upload and often a new URL.
- Your website's menu page. Better, if the page is genuinely mobile-first. Many restaurant sites are not, and the guest lands on a cookie banner before they see a starter.
- A page built for the table. A menu page designed to be read on a phone held in one hand, with sections, prices and allergen notes that you edit yourself.
Whatever you choose, the code should encode a short link you control, not the final destination. That single decision is what lets you change the menu without reprinting anything — see the section on reprinting below.
Size the code for the distance it will be scanned from
The working rule for QR codes is a 10:1 ratio: the code needs roughly one centimetre of width for every ten centimetres of scanning distance. A guest scanning a table tent holds the phone about 20-30 cm away, so a printed code of 2.5-3 cm on a side is the practical minimum. Go to 4 cm if you can spare the space; it costs nothing and it rescues older phones and dim rooms.
Two things ruin an otherwise correctly sized code:
- The quiet zone. QR codes need clear margin around them — about four modules' worth, which in practice means leaving white space equal to roughly 10% of the code's width on every side. Designers routinely crop this away to fit a layout, and the code stops decoding at an angle.
- Data density. The longer the encoded URL, the more modules the code needs, and the smaller each module becomes at a fixed print size. A long tracking URL with campaign parameters can double the module count of the same code carrying a short link. This is the practical reason to shorten first and generate the QR second.
Materials and placement
Table tents, adhesive discs and menu-holder inserts all work. What matters is the surface finish and where the light comes from.
- Matte, not gloss. Gloss lamination is more durable and it is also a mirror. Under downlights — the standard in most dining rooms — a glossy code produces a hotspot exactly where the camera needs contrast.
- Dark on light, with real contrast. Brand colours are fine as long as the dark modules stay genuinely dark. Inverted codes (light on dark) decode on some phones and not others; it is not worth the risk on a table.
- Vertical beats flat. A code lying flat on the table forces the guest to lean over it and often puts their own shadow on it. A tent at 60-90 degrees is scanned faster.
- Away from the candle and the water jug. Obvious, and still the most common cause of an unscannable code by week three.
Error correction: pick M, not H
QR codes carry redundancy so they still decode when part of the pattern is damaged. The four levels recover roughly 7% (L), 15% (M), 25% (Q) and 30% (H) of the data. Higher sounds better, but redundancy is stored in the pattern: level H makes the same URL produce a visibly denser code, which then needs to be printed larger to stay scannable.
For a table code that lives indoors and gets wiped down, level M is the right trade. Reserve Q or H for codes that carry a logo in the middle — the logo covers real modules, and the redundancy is what lets the code survive it.
One code per table, or one code for the room?
A single code reused on every table is simpler to print and tells you nothing. A per-table code costs the same to generate and lets you see which sections of the room actually scan, which is genuinely useful when you are deciding whether to move the tents or change the wording next to them.
The middle path most venues end up on: one code for the menu, and separate codes for the things you want measured on their own — the wine list, the specials board, the review request you hand over with the bill. Each gets its own short link, so each gets its own scan count. If you want the walkthrough for that specific setup, we wrote it up on the QR code for restaurant tables page.
The reprinting trap - and how to avoid it permanently
This is the part that costs real money. A QR code that encodes your menu URL directly is static: the destination is baked into the black-and-white pattern. Change the URL and every printed code is dead. Restaurants discover this when they migrate their website, rename a page, or move from a PDF to a proper menu — and then reprint 60 table tents.
A dynamic code encodes a short link instead, and the short link is a pointer you can re-aim at any time. Same printed square, new destination, and the scan history stays attached. We explain the mechanism in detail in Static vs Dynamic QR Codes, and you can generate either kind on the QR code generator.
Practical consequence for a restaurant: print once, change the menu as often as you like. Seasonal menus, a supplier change, a price update in January — none of them touch the tables.
Test before service, not during it
The testing pass takes ten minutes and catches almost everything:
- Scan with an old phone, not your newest one. If it works on a five-year-old camera it works for everyone.
- Scan from a seated position at the far side of the table, not standing over it.
- Scan with the room lights at evening levels, not daytime.
- Scan at an angle of about 30 degrees — that is how people actually hold a phone over a tent.
- Open the destination on mobile data with Wi-Fi off, and time it. If the menu takes more than three seconds to become readable, fix the page, not the code.
- Check the menu on a small screen. Prices that wrap onto their own line are the most common formatting failure.
Give the guest a reason to scan
A bare square gets scanned less than a square with four words next to it. "Menu, wine list and allergens" works. "Scan me" does not — it says what to do, not what they get. If you also want reviews or a mailing list, put those on their own code with their own line of copy rather than burying them behind the menu.
Getting it running
You can build the whole setup for free: create the menu page, get its short link, generate the QR, print. ShareCut's digital restaurant menu builder does the menu and the code together, so the code already points at a link you can re-aim later. Paid plans add a cover image, your own short code, a custom domain and no ads — the full comparison is on the plans page.
Ready to set up your tables? Create your QR menu free — it takes about ten minutes, and you will not need to reprint it when the menu changes.