Skip to content

QRvora Team·

QR code menus: how to set one up that guests don't hate

A practical guide to restaurant QR code menus. What to link the code to, where to put it on the table, how big to print it, and the mistakes that make guests ask for paper.

A menu table card with a QR code on a café terrace

Menu

Scan to order

Most people have had a bad QR code menu at least once. You sit down, scan the sticker on the table, and get a 14-page PDF of the printed menu, shrunk to fit a phone. You pinch, you zoom, you scroll past the wine list to find the burgers. Eventually you ask the server for a paper copy, which was the thing the code was supposed to replace.

The code isn't the problem there. What it opens is. A good QR menu is faster than paper, never goes out of date and costs nothing to change. A bad one is a PDF in a trench coat.

This guide covers the decisions that separate the two.

Decide what the code opens before you print anything

This is the decision that matters most, and most people make it last.

You have three realistic options:

  • A PDF of your printed menu. Quick to set up because the file already exists. Painful to read on a phone, since it was laid out for A4 paper, and every price change means a new file.
  • A page on your own website. Fine if your site is fast on mobile and someone can update it the same afternoon a dish sells out. On a lot of restaurant sites, neither is true.
  • A hosted menu page. Built for phones from the start: sections you can jump between, prices that sit next to the dish, dietary tags you can see at a glance. You edit it from a dashboard, and the change is live on the next scan.

If your menu changes more than twice a year, skip the PDF. Specials, seasonal dishes and price rises happen to almost everyone, and each one turns a PDF menu into a small chore.

Use a dynamic code, not a static one

A static QR code stores the address directly in the black and white pattern. Print it, and that address is fixed for as long as the sticker lasts.

A dynamic code stores a short link instead, and you decide where the link goes. Change the destination in your dashboard and every code already on every table follows it.

For a menu, that difference is the whole point. If you move from a PDF to a proper menu page next spring, or change website providers, or open a second location with a different menu, a dynamic code keeps working and a static one needs reprinting. We wrote a longer comparison of static and dynamic codes if you want the details.

One thing worth checking before you pick a provider: how long the dynamic code keeps working, and what happens when a trial ends. Some platforms switch codes off a week after you create them unless you pay. Read the pricing page first, not the terms of service after the stickers are on the tables.

What a good menu page includes

When guests scan, they want three things fast: what you serve, what it costs and whether they can eat it. Everything else is a bonus.

Sections they can jump to. Starters, mains, desserts, drinks. A row of tabs at the top beats a long scroll every time.

Prices on every dish. It sounds obvious, but menus built from photos of the printed version often lose prices to the crop.

Dietary tags. Vegetarian, vegan, gluten-free, spicy. Guests with allergies check these before anything else, and a tag next to the dish saves a trip to the counter to ask.

Short descriptions. One line. "Grilled peach, basil oil, sea salt" tells a guest more than a paragraph about where the burrata came from.

Photos, used sparingly. A few good photos of your signature dishes help people decide. A photo on every item turns the page into a slow, endless scroll on a weak signal.

Your basics at the bottom. Opening hours, phone number, address, Wi-Fi if you offer it. Someone always wants to know what time the kitchen closes.

The menu QR code generator builds a page with sections, prices, dietary tags, photos and your contact details, and you can see the live result as you edit.

Where to put the code on the table

Placement decides whether people actually scan, and most restaurants get it slightly wrong.

Table tents work best. A small folded card standing on the table is at eye level for seated guests and easy to scan without leaning over. It also gives you room for a line of text above the code, like "Scan for the menu". That line matters more than people expect, because a bare QR code doesn't say what it does. Our guide to QR codes on table tents covers sizing and materials.

Stickers on the tabletop come second. They're cheap and they can't be knocked over, but they get wiped, scratched and covered by plates. If you use them, laminate them and put them near the edge, not the centre.

Avoid the wall. A code on a wall across the room asks guests to get up, or to scan from a distance their camera struggles with.

Put one by the door too. People decide whether to come in from the window. A code on the glass that opens the same menu lets them look before they commit, even when you're closed.

How big to print it

Size depends on how far away the phone will be. The rule of thumb is that a code should be about one tenth as wide as the scanning distance.

A guest scanning a table tent holds their phone 20 to 30 cm away, so a code 2.5 to 3 cm wide is enough. A code in the window, scanned from the pavement a metre or more away, needs to be 10 cm or bigger. The QR code size chart has the full table if you're printing anything unusual.

Leave a white margin around the code, roughly four of the small squares wide. Designers like to crop it. Scanners need it to find the edges.

Keep paper menus for the people who want them

A QR menu should be the easy option, not the only one. Some guests don't have a smartphone, some have a flat battery, and some just prefer paper. Keep a few printed menus behind the counter and make it clear guests can ask.

This isn't only good manners. In some places, accessibility rules expect you to offer an alternative, and older guests notice which restaurants made the effort.

Test it before you print 40 of them

Print one table tent, put it on a real table and scan it with two different phones, ideally one iPhone and one Android. Then check:

  • Does it open in a couple of seconds on mobile data, not just on your Wi-Fi?
  • Can you find the desserts in under ten seconds?
  • Are the prices and dietary tags right?
  • Does the code still scan at an angle, the way someone sitting down would hold their phone?

Fix whatever you find, then print the rest. One test card costs almost nothing. Forty cards with the wrong link cost a weekend.

Use the scans once they come in

A dynamic menu code counts every scan, which tells you things paper never could. You can see which days and hours are busiest, whether people scan the window code before opening time and, with a good menu page, which dishes guests actually open.

If the vegetarian section gets opened far more than you expected, that's worth knowing before you plan the next menu. If almost nobody scans on Mondays, that's worth knowing too.

The short version

Link the code to a page built for phones, not a PDF of your printed menu. Use a dynamic code so you can change what it opens without reprinting. Put it on a table tent with a line of text that says what it is, print it around 3 cm wide, and test one card before you print the rest. Keep a few paper menus for guests who want them.

If you want to try it, you can build a menu page and its QR code for free and see what your guests would see before anything goes to print.

Print a code you can still edit next year

1 dynamic QR code free, with scan analytics. Active for 12 months on the free plan, and editable the whole time. No card needed.

Create a free QR code