How to Create a QR Code Menu (and Go Live)
The QR code is the last step of building a digital menu and the easiest to get wrong. The mistake is treating it like a one-time print job. Use a dynamic code instead and the same square on your table works forever — you change prices, pull a sold-out dish, or add a special, and every scan shows the update. Here is how to create a QR code menu, design it to scan reliably, and put it where guests will actually use it.
TL;DR — Key Takeaways
Build the menu first. A QR code is just a pointer; it needs a real digital menu to point at.
Use a dynamic QR code. The same printed code keeps working as you update the menu — no reprints, ever.
Avoid static / PDF QR codes. They lock the menu to one file, so any change means a new code and a new print run.
Design for scanning: strong dark-on-light contrast, generous size, and a logo only in the center if it still scans.
Place it where hands fall— table tents, the bill, the window — and test on both iPhone and Android before launch.
Static vs. dynamic: the one decision that matters
Almost every QR-menu regret traces back to this choice, so make it first.
A static QR code encodes a fixed destination — often a PDF or a one-off link. Once it's printed, that destination can't change. Update your menu and the old code now points at the old menu; to fix it you generate a new code and reprint everything. You've recreated the exact problem digital menus were meant to solve.
A dynamic QR code points to a live menu you control. The code itself never changes, but what it shows always reflects the current menu. Change a price, pull a dish, add a seasonal special — the next scan shows it, with no reprint. For a restaurant, dynamic is the only sensible choice; it's what makes "update in seconds" real. (Dynamic codes also let you see scan activity, which feeds your menu analytics.)
Step 1 — Have a real digital menu to point at
A QR code is a pointer, not a menu. Before you generate one, you need the thing it opens: a structured, mobile-first digital menu, not a photographed PDF. If you haven't built that yet, start with the complete guide to creating a digital menu and the quickest on-ramp, how to digitize your restaurant menu. Once your menu is live behind a link, the QR code is the easy part.
Step 2 — Generate the code
With a menu platform, you don't paste links into a generator — the code is created for you and already wired to your live menu (and dynamic by default). You'll typically be able to download it as:
SVG— vector, the right choice for anything printed (table tents, posters, window decals) because it stays crisp at any size.
High-resolution PNG— fine for digital use or quick prints; export it large (around 1000×1000 px or more) so it doesn't blur.
If you ever do use a separate generator, set the destination to your menu's link and keep the code dynamic — but a platform that manages the menu and the code together saves you that step and keeps them in sync.
Step 3 — Design it to scan reliably
A QR code only helps if it scans on the first try, in restaurant lighting, from a phone held at a normal distance. Keep these in mind:
Contrast. Dark code on a light background. Avoid low-contrast color combos and never invert (light code on dark) unless you've tested it thoroughly — many scanners struggle with it.
Size. Bigger than you think. On a table tent, aim for at least ~2.5–3 cm (1 inch+) square; on a window for passers-by, much larger. Cramped codes fail.
Quiet zone. Leave clear white space around the code; crowding it with text or borders hurts scanning.
Logo, sparingly. A small logo in the center can look brand-right, but it eats into the code — add it only if it still scans every time.
Step 4 — Place it where guests will use it
A perfect code in the wrong spot goes unscanned. Put it where attention and hands naturally land:
Table tents or table stickers— the default, at eye level when a guest sits down.
On the bill / receipt— for re-orders and dessert rounds.
Window or door decal— lets passers-by read the menu before they commit to coming in (a quiet conversion win).
Counter or wall for quick-service and cafés.
Add a short call to action next to it — "Scan for our menu" in your main guest languages — so there's no ambiguity about what the square does.
Step 5 — Test before you print a hundred
Before a print run, scan the code yourself on both an iPhone and an Android, using the native camera (not a special app), in the lighting guests will actually sit in. Confirm it lands on the right menu, loads fast, and reads well on a small screen. Test the printed proof too, not just the on-screen version — print size and paper finish affect scanning. Five minutes here saves a reprint.
Step 6 — Keep it updated (the whole point)
Once live, your QR menu becomes a living thing you manage from your dashboard, and the printed code never changes again:
Change a price and it's live on the next scan — no sticker, no reprint.
86 a sold-out dish instantly so guests stop ordering what the kitchen's out of.
Add specials or a seasonal menu without a print cycle.
Switch the whole menu for brunch vs. dinner if you run dayparts.
That update-in-seconds capability is the real return on going digital; the QR code is simply how guests reach it.
What to do if your QR code won't scan
If a code is stubborn, work through the usual culprits in order:
Too small. The most common cause. Size it up — bigger always scans more reliably than you expect, especially in dim rooms.
Low contrast or inverted colors. Go back to dark code on a light background and re-test; light-on-dark and pale color pairs defeat many scanners.
No quiet zone. Crowding the code with text or a border confuses readers. Leave clear space around all four sides.
A logo that's too big. A center logo eats into the code's data. Shrink it or remove it until it scans every time.
Print quality. A blurry or low-DPI print fails even when the on-screen version is perfect. Print from the SVG, and check the actual proof.
Re-test on both an iPhone and an Android after each change, in real lighting, until it scans on the first try from a normal sitting distance.
Beyond the table: other places your QR menu works
The same code (or its underlying link) earns its keep well beyond the table tent. Put the link on your Google Business Profile and social bios so people can read the menu before they arrive, add it to delivery flyers and takeaway bags for re-orders, and drop a window decal so passers-by can browse from the street. Because it all points at one live menu, every one of these stays current automatically the moment you make a change in the dashboard.
The real cost of a static QR code
It is worth being blunt about why static and PDF QR codes are a false economy, because they look free and harmless up front. The cost arrives the first time anything changes. Raise a price, run out of a dish, add a special, fix a typo — with a static code, every one of those means generating a new code and reprinting whatever it lives on: table tents, posters, window decals, the lot. You have rebuilt the exact reprint cycle that made paper menus expensive and slow, only now with the extra step of regenerating codes.
A dynamic code costs nothing extra and removes the problem entirely: the printed square never changes, and the menu behind it is always current. Over a year of normal menu churn — seasonal changes, price moves, sold-out items — that is the difference between a menu you update in seconds from your phone and one you are quietly reprinting every few weeks. For a restaurant, there is no scenario where static is the right call.
Help guests who are new to scanning
Most guests are comfortable with QR menus now, but a few are not, and a little design effort captures those orders instead of losing them. A short, clear instruction beside the code — "Scan with your camera for our menu," in your main guest languages — removes any doubt about what the square does. Keep the path frictionless once they scan: the menu should load fast and read well without pinching or zooming. And keep a few printed menus behind the counter for guests who genuinely prefer paper or whose phone has died. The goal is a smooth order for everyone, not QR purism.
Common QR code menu mistakes
Static / PDF QR codes. The moment you need to change the menu, you're reprinting. Use dynamic.
Codes printed too small. Cramped codes fail to scan; size up and leave a quiet zone.
Poor contrast or inverted colors. Pretty but unscannable. Dark-on-light, tested.
No call to action. Guests don't always know a bare square is the menu — label it.
Skipping the cross-device test. What scans on your phone may fail on another; check iPhone and Android, on the printed proof.
Create your QR code menu free with Intermenu
Intermenu gives every menu a dynamic QR code wired to your live menu — download it as a crisp SVG or PNG, put it on the table, and update prices, specials, and sold-out dishes from your dashboard with no reprint, ever. For the full case for going QR, see our QR code menus guide.
Build your QR code menu free with Intermenu →
Frequently Asked Questions
How do I create a QR code menu for my restaurant?
Build a digital menu, then generate a dynamic QR code that links to it. With a menu platform the code is created and wired to your live menu automatically; download it as SVG or high-res PNG, place it on your tables, and test it before printing in bulk.
What's the difference between a static and dynamic QR code menu?
A static code points to a fixed destination (often a PDF) and can't be changed once printed. A dynamic code points to your live menu, so the same printed code keeps working as you update prices and dishes. Restaurants should always use dynamic.
Do I need an app to make a QR code menu?
No. A digital menu platform generates the code for you, and guests scan it with their phone's built-in camera — no app to download on either side.
How big should a QR code menu be?
On a table tent, at least about 2.5–3 cm (1 inch) square; larger for windows or wall placement. Keep strong dark-on-light contrast and clear space around it so it scans on the first try.
Can I update my menu without changing the QR code?
Yes — that's the main advantage of a dynamic QR menu. You edit the menu in your dashboard and the same printed code shows the update on the next scan, with no reprint.