How to Make a QR Code for a Restaurant Menu
By the CirculateQR team · Updated · 8 min read
Short answer
Put your menu on a mobile-friendly web page, either a hosted menu page or the online menu you already have, then create a dynamic QR code that points to it. Dynamic matters because prices, specials and sold-out dishes change, and you can update the page or the link without reprinting. Print the code about 3–4 cm wide on table tents scanned from 30–40 cm, test it on several phones, and keep a few printed menus for guests who can’t or won’t scan.
On this page
- Which menu format should the QR code open?
- Why should a menu QR code be dynamic?
- How do you build a menu QR code step by step?
- Can guests order from the table with the QR code?
- Can one code show breakfast, lunch and dinner menus?
- How big should a menu QR code be, and where should it go?
- What does a menu QR setup look like with real numbers?
- Frequently asked questions
Key facts
- A dynamic code lets you change the menu, or where the code points, after printing. The table tents stay the same.
- PDF menus are usually laid out for paper, so guests pinch and zoom on a phone, and large files load slowly on mobile data.
- At the common 10:1 rule, a code scanned from 30–40 cm should be about 3–4 cm (1.2–1.6 in) wide, plus a blank margin of 4 modules.
- CirculateQR’s menu editor holds up to 300 items, each with price, description, photo, dietary labels, allergens and a sold-out setting.
- CirculateQR’s table ordering takes orders but not payment: guests pay their server or at the counter.
- On CirculateQR’s free plan, dynamic codes and hosted pages pause 14 days after publishing unless you upgrade or pay $5 once per code.
Which menu format should the QR code open?
Decide what guests will see before you make the code. There are three common choices:
| Format | Good | Not so good |
|---|---|---|
| Hosted menu page | Built for phones; edit one item at a time; mark dishes sold out | One more place to keep your menu |
| Your existing online menu | Already up to date; one place to edit | Only as good as that page is on a phone |
| PDF on your website | Quick if you have a print file | Hard to read on a phone; large files load slowly; every change means a new file |
PDFs are the most common choice and the weakest. Nielsen Norman Group’s review PDF: Still Unfit for Human Consumption, 20 Years Later (August 2020) describes mobile users having to pinch, zoom and scroll around pages formatted for paper, and recommends a web page instead. A menu PDF full of photos can also run to several megabytes, which is slow on a weak mobile connection.
If a PDF is all you have for now, host it on your own website and point a dynamic code at it, so you can switch to a web menu later without reprinting. There is a free PDF QR code generator as well as a free menu QR code generator.
Why should a menu QR code be dynamic?
Menus change constantly: prices go up, seasonal dishes come and go, the kitchen runs out of the special, and websites get rebuilt. A static code is fixed to one address forever, so any of those can leave dozens of table tents pointing at the wrong page. A dynamic code holds a short link instead, and you can change what it opens at any time. It also counts scans, which tells you whether guests use the codes at all.
One exception: a static code that points at a page on your own website, such as yourbistro.com/menu, can stay current if you keep that page updated. You just won’t get scan counts. For what to do when a printed code already points to the wrong place, see how to change where a QR code goes.
How do you build a menu QR code step by step?
Here is the process in CirculateQR. Most menu tools follow a similar order.
- Gather the menu. Sections, dish names, prices, short descriptions, allergens, dietary labels and a few photos of best sellers.
- Create a menu page. Start a hosted menu page and choose your currency.
- Add sections and items. Each item takes a name, price, description, photo, section, dietary labels and allergens, up to 300 items.
- Publish and download the code. The page gets a dynamic code; use the SVG for print where it’s offered, or the 1024-pixel PNG.
- Test at a table. Scan a printed proof with an iPhone and an Android phone on cellular data.
- Print and place the codes. Size them for the scanning distance: about 3–4 cm wide for a table tent scanned from 30–40 cm.
- Keep it current. Mark dishes sold out and change prices in the item editor; the printed codes stay the same.
If you already have a good online menu, skip steps 2 and 3 and make a dynamic link code that points to it.
Can guests order from the table with the QR code?
Yes, if you add ordering. CirculateQR’s order page supports table service, pickup, or both. Each printed code carries one fixed table number, so if you want orders tagged with a table, each table gets its own code. Guests choose dishes, pick item options and can add a tip.
There is no online payment: guests pay their server or at the counter. You get an email for every order and move it through received, preparing, ready and completed in the dashboard. That suits cafés and casual restaurants where staff already take payment at the table or register. If you need guests to pay when they order, you will need a separate payment system.
Can one code show breakfast, lunch and dinner menus?
Yes, with time-based routing. When a guest scans, the server checks the time in their local time zone, estimated from their IP address, and sends them to the menu for that time of day. The Smart Restaurant Menu template on the templates page sets this up with breakfast before 11am, lunch from 11am to 5pm and dinner after 5pm, and you can change the hours. Time routing is included from the Studio plan up.
IP-based location is approximate, so link the three menus to each other on every page. A guest who sits down at 10:55 can then reach lunch with one tap. More on rules in routing scans by device, location, time or language.
How big should a menu QR code be, and where should it go?
A common rule of thumb is a code width of about one tenth of the scanning distance. Guests at a table hold their phone 30–40 cm from a table tent, so the code should be about 3–4 cm (1.2–1.6 in) wide. A window sticker read from 1 m outside needs about 10 cm.
- Keep the quiet zone. Leave a blank margin of 4 modules around the code, free of borders and text.
- Print dark on light. Strong contrast matters more in dim evening lighting.
- Laminate with a matte finish. It survives spills and wiping, and reflects less overhead light than gloss.
- Place it at eye line. On the face of the tent toward the seats, not flat under glasses and plates.
- Label it. “Scan for our menu” tells guests what the code does.
Keep a few printed menus. Some guests have no smartphone, a dead battery, poor eyesight or no signal, and some simply prefer paper. Staff should offer one without being asked. The size guide has more on distance and contrast.
What does a menu QR setup look like with real numbers?
A bistro has 18 tables and a menu of 64 dishes in 6 sections, well under the 300-item limit. Guests scan from about 35 cm, so the code is printed 3.5 cm wide on each table tent. CirculateQR draws plain codes at error correction level H, and the 37-character short link makes a version 5 code, 37 × 37 modules. Each module is about 0.95 mm, and with the quiet zone the code needs a clear square about 4.3 cm wide.
Menu only: one dynamic code goes on all 18 tents. When a supplier raises prices and 12 dishes change, the owner edits 12 prices in the item editor. No tent is reprinted, and the scan count shows how often the code was used that week.
With table ordering: each table needs its own code carrying its table number, so 18 dynamic codes. The free plan allows up to 5 dynamic codes live at once, each for 14 days, so it doesn’t fit. The Studio plan, $12 a month, includes 100 dynamic codes a month, keeps them live while subscribed, and adds the time routing for separate breakfast, lunch and dinner menus.
Frequently asked questions
Should a restaurant menu QR code link to a PDF?
It can, but a mobile web page is better for guests. PDFs are laid out for paper, so people pinch and zoom on a phone, and large files load slowly on mobile data. If a PDF is all you have, host it on your own website, keep the file small, and point a dynamic code at it so you can switch to a web menu later.
Do I need a dynamic QR code for a restaurant menu?
Not strictly, but it saves reprints. A static code opens one fixed address forever. A dynamic code lets you change the menu or the address it opens at any time, and counts scans. A static code pointing at a page on your own website also works if you keep that page updated, though without scan counts.
How big should a QR code on a table tent be?
About 3–4 cm (1.2–1.6 in) wide for a table tent scanned from 30–40 cm, using the common rule that a code should be about one tenth of the scanning distance. Leave a blank margin of 4 modules around it, print dark on light, and test the printed tent from a seated position.
Can guests pay through a CirculateQR menu code?
No. CirculateQR’s order pages take orders with item options and tips, but there is no online payment: guests pay their server or at the counter. You get an email for each order and move it through received, preparing, ready and completed in the dashboard.
Can a menu QR code show the menu in different languages?
CirculateQR doesn’t translate menus automatically. You can build a separate menu page for each language and, on the Artisan plan and up, use language routing so each scan opens the version that matches the phone’s first preferred language, with your default menu for everyone else.
Last updated . Written by the CirculateQR team. Spotted something wrong or out of date? Email support@circulateqr.com.
Put your menu on a code you can update
Build a hosted menu with prices, photos and allergens, or link to the menu you already have, and edit it without reprinting.
Related guides
- Dynamic vs Static QR Codes: What Is the Difference?What is a dynamic QR code, and how is it different from a static one?
- Routing QR Code Scans by Device, Location, Time or LanguageCan one QR code send people to different pages depending on who scans it?
- QR Code Size Guide for Print: Minimum Size and DistanceWhat size should a printed QR code be?
- How to Change Where a QR Code Goes After PrintingCan I change where a QR code goes after it has been printed?