QR Codes for Restaurant Menus: A Practical Playbook
Set up QR code menus that get scanned: menu page vs PDF, dynamic codes you can update, table tent sizing, per-table ordering links, Wi-Fi codes and testing.
Start with what the code points to
A menu QR code is only as good as the page behind it. Guests scan with a phone, standing or sitting, often in dim light, with one hand holding a drink. The destination must load in under two seconds on mobile data and be readable without zooming. That rules out most PDFs exported straight from the print layout.
The best option is a mobile-friendly web page: one column, large type, sections that collapse, prices next to items and a sticky link back to the top. If you already have a website, a single menu page there is enough. Many point-of-sale systems also host a menu page you can link to. Whatever you choose, the URL is what you encode, so make sure it is stable and served over HTTPS.
If a PDF is the only realistic option today, at least know the trade-offs: guests have to pinch-zoom a two-column A4 layout, a 6 MB file with photos takes several seconds on a weak connection, and every price change means re-uploading the file and hoping the URL stays identical. If you go this route, export at low resolution, keep it under 1 MB and use a single-column layout designed for phones.
Use a dynamic QR code so you never reprint
Menus change: seasonal dishes, price adjustments, a supplier substitution, a new brunch card. If the QR code encodes your menu URL directly (a static code) and that URL ever changes, every sticker and table tent becomes waste. A dynamic QR code encodes a short redirect link instead, and you change the destination from a dashboard whenever you like.
On [qrsvg.app](/) a free account gives you dynamic codes of the form https://qrsvg.app/r/<code> with an editable destination and scan analytics. Because the encoded link is short, the code itself has fewer modules and scans more easily at small sizes than one that stores a long URL. You can switch the target from a PDF to a proper web page later, or point it to a holiday menu for a weekend, without touching the print.
One caveat: the redirect depends on the service being available. If you prefer full independence, host a short redirect on your own domain (for example https://yourbistro.com/m) and encode that. You lose the built-in analytics but keep control.
Size, placement and print material
Table tents, stickers and counter cards are scanned from roughly 30 to 50 cm away. At that distance the code should be at least 3 cm square, and 4 to 5 cm is comfortable for guests who are not used to scanning. Wall posters meant for scanning from a standing position need to be larger; the size and print guidelines give a simple rule of one tenth of the scanning distance.
Keep a clear margin around the code (the quiet zone). Do not print text, borders or a menu photo right up against it. Two modules is the technical minimum; on a table tent you have room for more, so leave a white border of at least 5 mm.
Material matters more than most people expect. Glossy lamination throws reflections from overhead spots and windows, which can wash out an entire corner of the code. Choose matte lamination or a matte vinyl sticker. If you print on a dark tablecloth-coloured card, keep the code black on a white panel rather than inverting it; light-on-dark codes scan less reliably on many phones.
- Minimum 3 cm, ideally 4-5 cm for table tents and stickers.
- White quiet zone of at least 5 mm on every side.
- Matte finish, never glossy lamination.
- Dark modules on a light background; keep any brand colour dark enough to contrast.
- Export as SVG or PDF so the printer gets crisp edges at any size.
One code per table for ordering
If you plan to let guests order or pay from the table, the code needs to identify where they are sitting. The simplest approach is a table parameter in the URL, for example https://yourbistro.com/menu?table=12. Your menu or ordering page reads the parameter and attaches it to the order, so the kitchen and the runner know where the plates go.
Generating thirty or fifty codes by hand is tedious and error-prone. Put the table numbers and URLs in a spreadsheet, export it as CSV and use the bulk generator to produce a ZIP of numbered SVG files in one step. Name the files by table number so the print shop places each code on the correct tent.
If you use dynamic codes per table, each table gets its own short link, which also gives you per-table scan counts, useful for spotting tables where the sticker is hidden behind the napkin holder or has gone missing.
Add a human-readable URL and keep paper menus
Not every guest can or wants to scan. Older phones, cracked cameras, low battery, poor eyesight, or simply an aversion to pointing a camera at a table all happen daily. Print a short, readable URL directly under the code, such as yourbistro.com/menu, so anyone can type it. This also acts as a fallback if the code is scuffed.
Keep a small stock of printed menus and offer them without fuss. Accessibility is part of the reason, and in several jurisdictions hospitality venues are expected to provide an equivalent non-digital option. A QR menu should be the fast lane, not the only lane.
Since you are already asking guests to pull out a phone, put a Wi-Fi QR code next to the menu code. One scan connects them to your guest network, which makes the menu load faster and is a small hospitality gesture that people remember. Label the two codes clearly so nobody scans the wrong one.
Branding without hurting scans
A plain black square works, but a code that carries your logo and colours looks intentional and gets scanned more. Add your logo in the centre at 15 to 25% of the width; the generator will raise the error correction level to at least Q so the covered modules can be recovered. Rounded or dotted module shapes soften the look, and a custom eye shape adds character without affecting readability.
Colour is where restaurants most often break their codes. Use one dark brand colour for the modules on a white or cream background, and check the contrast: dark green, navy, burgundy and charcoal all work; mustard, coral and pastels do not. Avoid gradients that fade into light tones near the edges. The QR code with logo guide covers the safe ranges in detail.
Analytics, maintenance and testing
With dynamic codes you get scan counts over time, plus device and location breakdowns. In a restaurant this tells you when guests actually look at the menu (a 12:30 and a 19:45 peak are typical), whether the lunch crowd is heavier on Android or iPhone, and which tables scan the least. Use that to decide where a second code or a larger tent is needed.
Stickers and tents live a hard life: spilled drinks, wiping with degreaser, sunlight fading the ink. Set a reminder to inspect them monthly and replace anything with worn corners, bubbling lamination or a faded finder pattern. Because your code is dynamic, the replacement is an exact reprint of the same file.
Before you order 50 copies, print one at the intended size and scan it with at least one iPhone and one Android phone, from a seated position, under the actual restaurant lighting, including the evening setting. Check that the page loads, the prices are current, and the table parameter arrives correctly. Five minutes of testing saves a full reprint.
How to set up QR code menus for a restaurant
- 1
Prepare a mobile-friendly menu page
Publish your menu as a single-column web page served over HTTPS, or as a phone-sized PDF under 1 MB if a page is not possible yet. Check that it loads within two seconds on mobile data.
- 2
Create a dynamic QR code
Sign in to qrsvg.app with a free account, choose the URL type, paste the menu link and enable the dynamic option so you get a short redirect you can edit later without reprinting.
- 3
Add branding carefully
Upload your logo at 15-25% of the code width, pick a dark brand colour for the modules on a white background, and keep the quiet zone at 2 modules or more.
- 4
Generate one code per table
Add
?table=Nto the menu URL for each table, list them in a CSV and use the bulk generator at /bulk to export a ZIP of numbered SVG files. - 5
Export and print at the right size
Download SVG or PDF and print codes at 4-5 cm with a matte finish, a white margin of at least 5 mm, and the readable URL under the code.
- 6
Test with real phones
Print one sample, scan it with an iPhone and an Android phone in the actual lighting, then confirm the page, prices and table number before ordering the full batch.
- 7
Monitor and maintain
Review scan analytics to find peak times and low-scanning tables, replace scuffed stickers monthly, and update the destination from the dashboard when the menu changes.
Frequently asked questions
- Should my restaurant QR code link to a PDF or a web page?
- A mobile-friendly web page is better: it loads faster, needs no zooming and can be updated in place. Use a PDF only as a stopgap, keep it under 1 MB, design it for a phone screen, and point to it through a dynamic QR code so you can switch to a page later.
- How big should a QR code be on a table tent?
- At least 3 cm square, and 4 to 5 cm if there is room. Guests scan from 30 to 50 cm away, often in dim light, so a slightly larger code with a generous white margin scans noticeably faster.
- Can I change the menu without reprinting the QR codes?
- Yes, if you use a dynamic QR code. The printed code points to a short redirect link, and you change the destination in your qrsvg.app dashboard. The same works for temporary menus such as a holiday brunch.
- Do I need a different QR code for each table?
- Only if you want table-level ordering or per-table analytics. Add a table parameter such as
?table=12to the URL and generate the whole set from a CSV with the bulk tool. For a view-only menu, one code for all tables is fine. - Why does my laminated menu QR code not scan?
- Glossy lamination reflects ceiling lights and windows, which can blank out part of the code from the guest's angle. Reprint with matte lamination or matte vinyl, keep the code black on white, and check that the white margin around it was not trimmed off.
Free, no signup
Make this QR code now
Clean SVG, PNG or PDF in seconds. Style it, add a logo, download.