restaurant menu qr codeqr code menumenu qr code generatorpdf menu qr codehow to make a qr code for a menu

Restaurant Menu QR Code: Update the Menu, Keep the Same Code (2026)

A restaurant menu QR code that opens a PDF or a menu page, keeps working when prices change, and counts scans for each table card.

Sarkhan··9 min read

A restaurant menu QR code is printed once and then stays on the tables for a year or longer. The menu behind it changes far more often. Prices follow supplier costs, dishes rotate with the season, and the lunch card is not the dinner card. If the code holds the menu's address directly, every one of those changes means new table cards. With 30 tables, a window sticker and a stack of takeaway bags, that is a print run each time the price of fish goes up.

This guide explains what the code should open, how to make a code you can change after printing, how large to print it, and how one code can show the breakfast, lunch or dinner menu depending on the hour.

Why a menu needs a code you can edit

A basic QR code stores the full menu address inside its pattern. Move the PDF, rename the page or switch website builders, and every printed code opens an error page. Nothing on the table tells guests what went wrong. Most of them ask for a paper menu, if you still have one.

A dynamic code stores a short link instead, and the short link points to the menu. When the menu moves, you change the destination in your dashboard once and every printed code follows. The full comparison is in dynamic vs static QR codes. For a QR code menu the decision is quick. Anything that will change within the next twelve months does not belong inside a static code, and menu prices will change.

PDF, menu page or bio page: what the code should open

Your menu QR code holds only a short link, so the destination is your choice and you can switch it later. Three options cover almost every restaurant.

A PDF menu QR code is the most common setup, because the designer sends a PDF to the printer anyway. Phones open the file at print size, though. Guests zoom in, scroll sideways across an A4 page and lose their place between the starters and the mains. A PDF full of food photos can also run to several megabytes, which loads slowly on a weak signal in a basement dining room. If the file sits in Google Drive, set sharing to "Anyone with the link", otherwise guests land on a "Request access" screen. Drive's own share link is long and records nothing, so it is worth shortening the Google Drive link before it goes into a code.

A menu page on your website reads best on a phone. It also needs a website and someone who keeps that page current.

A bio page sits between the two. You build it in a visual editor from cards: one card per dish with its name, price and photo, a map card with your address, and a button for booking or delivery. You do not need a website, and changing a price takes about a minute. The same bio link page can go in your Instagram profile, so guests who find you there see the same menu as guests at the table.

PDFMenu page on your websiteBio page
Reads well on a phoneNeeds zoomingYesYes
Changing one priceExport and upload a new fileEdit the pageEdit the card
Needs a websiteNoYesNo
Doubles as your Instagram linkRarelySometimesYes

The printed code works the same with all three. You can start with the PDF this week and move to a page next month without reprinting a single table card.

Create your menu QR code

Start 7 day free trial. Cancel anytime.

Get started

How to make a restaurant menu QR code in Linxly

Any menu QR code generator can draw the square. What matters is whether you can change the code and count its scans after it is printed.

  1. Upload the menu or build the page, then copy its link. For a Drive PDF, check the sharing setting before you copy.
  2. Paste the link into Linxly as a new short link. Its QR code is generated automatically.
  3. Replace the random ending with a readable one, for example linx.ly/rosa-menu. Print it under the code too. A guest whose camera will not focus can type it instead.
  4. On the Pro and Business plans, add your logo and brand color to the code.
  5. Download a PNG for quick printing or an SVG for your designer, who can scale it to any size without blur.

Then test it where guests will use it. Scan with one iPhone and one Android phone, at a table, under the evening lighting. An office window at noon tells you very little about a candlelit table at 9 pm. If both phones open the menu within a couple of seconds, send it to print.

tip

If the menu is a PDF, open it on your phone the way a guest would and try to read the prices without zooming. If you can't, neither can they.

Printing the code: size, light and placement

A common rule of thumb is that a QR code should be about one tenth as wide as the distance it is scanned from. A table card read from 25 cm needs a code of about 2.5 cm (1 in). A window sticker that people read from two meters away on the pavement needs something closer to 20 cm.

Light is the part most menus get wrong. Dining rooms get darker in the evening, and phone cameras struggle with low contrast. A dark code on a white background scans fastest. Gold on black looks good on a menu card but scans poorly, and some camera apps do not read light codes on a dark background at all. Glossy lamination reflects ceiling lamps straight into the camera. Matte lamination does not.

Put one line of text next to the code, such as "Scan for the menu". A bare square on a table could be anything: wifi, a survey, a payment link. Guests scan faster when they know what will open.

Table tents and stickers on the table itself get the most scans. After that come the window, takeaway bags and delivery flyers. People reading the window are deciding whether to come in, and people holding a takeaway bag are deciding whether to order again.

One code per table, window and takeaway bag

A single code everywhere tells you that people scanned it, but not where they stood when they did. Make one short link for each placement instead, all pointing to the same menu:

  • linx.ly/rosa-menu-table on the table cards
  • linx.ly/rosa-menu-window on the window sticker
  • linx.ly/rosa-menu-bag on takeaway bags

Each link has its own QR code and its own report. Scans and link clicks are counted separately, with a daily chart and a split by country and device type on every plan. City, operating system and referrer are added on Pro and Business. Suppose a month later the tables show 410 scans, the window 60 and the bags 25. The window number tells you how many passers-by read the menu before deciding. The bag number tells you whether takeaway guests come back for a second look. The details of what a scan records are in how to track QR code scans.

Scans are not orders, though. No QR tool can see what a guest ordered after reading the menu. Compare scans with covers or takeaway orders for the same week, and you have a number you can actually act on.

Breakfast, lunch and dinner from one code

Many restaurants print a separate card for each service. With time-based redirection on the Pro and Business plans, one code handles all of them. You set time ranges on the short link and give each range its own destination:

  • 08:00 to 11:00 opens the breakfast menu
  • 12:00 to 16:00 opens the lunch menu
  • 17:00 to 19:00 opens the happy hour drinks list

Outside every range, the link opens its main destination, which here would be the dinner menu. Ranges are set in one-hour steps and cannot overlap. After you save, scan the code once around the first changeover to confirm that it switches when you expect.

Longer changes need no schedule. When the summer terrace menu replaces the winter one, you change the destination once and every table card, sticker and bag already printed opens the new menu that evening.

Mistakes that make a menu code fail

Most broken menu codes fail for small, avoidable reasons:

  • The Drive PDF is shared only with your own account, so guests see a sign-in or "Request access" page.
  • The code opens the restaurant homepage, and guests have to hunt for the menu on a small screen.
  • The new menu is uploaded as a new file, but the link still points to last season's PDF.
  • The code sits under a napkin holder or inside a glossy sleeve that reflects the lamp above it.
  • There is no paper menu at all. Some guests do not want to use a phone at dinner, and some phones run out of battery.

If you also want table cards to collect Google reviews, give that job its own code. A guest who scans for the menu wants the menu, not a rating form. The setup for review codes is covered in Google review QR code.

Make a menu QR code you can edit

Start 7 day free trial. Cancel anytime.

Get started

Frequently asked questions

How do I make a QR code for a menu?

Copy the link to your menu (a PDF, a web page or a bio page) and paste it into Linxly as a short link. The QR code is generated automatically, and you can download it as a PNG or SVG.

Can I change my menu without reprinting the QR code?

Yes, as long as the code holds a short link and not the menu file itself. You change the destination in your dashboard, and every printed code opens the new menu right away.

Should my menu QR code open a PDF or a web page?

A menu page or a bio page reads better on a phone than a PDF. If a PDF is what you have today, start with it. The short link lets you switch to a page later without changing the printed code.

What size should a menu QR code be?

About 2.5 cm (1 in) is enough for a table card scanned from arm's length. For anything read from further away, make the code roughly one tenth of the scanning distance.

Can I see how many guests scanned the menu?

Yes. Each short link counts scans separately from link clicks, with country and device type on every plan. City, operating system and referrer are available on Pro and Business.

How much does a restaurant menu QR code cost?

Linxly starts at $0.99 a month, which includes custom link endings, an editable destination and scan counts. Logo, brand color and time-based redirection come with the Pro plan, listed on the pricing page. There is a 7-day free trial, cancel anytime.