Two ways to make a QR code for a menu

There are two fundamentally different approaches, and they lead to very different outcomes.

Option A: Generate a QR code that points to a PDF or existing page

You take your menu (as a PDF or a URL), paste it into a free QR code generator, download the code, print it. Done in 2 minutes.

The problem: if you ever need to update the menu, you may need to generate a new QR code and reprint everything. And if it points to a PDF, your guests get a poor mobile experience.

Option B: Use a digital menu platform that includes a QR code

You create your menu in a platform built for restaurants. The platform gives you a QR code that points to a mobile-optimized menu page. When you update the menu, the same QR code still works — it just shows the new version.

This is the approach that makes sense for any restaurant that updates its menu more than once.

The problem with plain QR code generators

Sites like QR Code Generator, QRCodeChimp, or even Canva will happily generate a QR code for any URL. They're useful tools — but they're generic. They don't know anything about menus.

When you use them, you're responsible for:

  • Hosting the menu somewhere (your website, Google Drive, Dropbox)
  • Making sure the page or PDF looks good on mobile
  • Updating the content when the menu changes
  • Deciding whether to use a static or dynamic QR code (more on this below)

For a one-time use or a simple test, a generic generator is fine. For a menu that guests scan every day and that you update regularly, use a platform that handles all of this for you.

Static vs dynamic QR codes — what you actually need to know

This is the most important technical decision, and it's simpler than it sounds.

Static QR code: The destination URL is baked into the code. If you ever change the URL (update the PDF, move your menu to a new page), the old QR code breaks. You have to generate a new one and reprint.

Dynamic QR code: The code points to a redirect URL that you control. You can change the destination at any time without changing the physical code. The same sticker on your table keeps working forever, even if the menu moves.

For a restaurant menu, you almost always want a dynamic QR code.

Most dedicated digital menu platforms give you dynamic QR codes automatically — that's the point. Generic generators sometimes charge extra for dynamic codes, or limit them on free plans.

Getting the QR code right for printing

A QR code that looks fine on screen can fail in real-world conditions. A few things that matter:

Size: The minimum reliable size for a restaurant table is 3×3 cm. For a window or door poster, go larger — at least 6×6 cm. Smaller codes fail more often, especially on older phones.

Contrast: Dark modules on a white or very light background. High contrast = reliable scanning. Low contrast (grey on beige, dark on dark) = frequent failures and frustrated guests.

Error correction level: QR codes have a built-in error correction that lets them scan even when partially obscured or damaged. Set this to M or H (medium or high) for print — it makes the code slightly denser but much more reliable in real conditions.

File format: Download the QR code as SVG or high-resolution PNG (at least 1000×1000 pixels) for printing. Never scale up a low-resolution PNG — it gets blurry and may not scan.

Lamination: Matte lamination, not glossy. Glossy lamination under direct light creates glare that makes scanning difficult or impossible.

How to test before printing 50 copies

Before you print anything:

  1. Print one copy at the actual size you'll use
  2. Place it in the actual location (table, window, counter)
  3. Test with at least three different phones — iPhone camera, Android camera, and a QR scanner app
  4. Test in your actual lighting conditions (afternoon sun through a window can create glare you won't notice in the morning)

If it scans reliably on all three phones in all lighting conditions, you're good. If it fails even once, fix the issue before printing in bulk.

The simplest path

If you want a QR code for your restaurant menu without dealing with any of the above:

  1. Create a free account on a digital menu platform like ArriveMenu
  2. Set up your menu (categories, dishes, prices)
  3. Go to the QR tab and download your code — it's already the right format, already dynamic, already pointing to a mobile-optimized page
  4. Print it at the size you need

The QR code is included. You don't need to configure anything. When you update your menu, the same code still works.

One final thing: always include a short URL under the code

Not every guest will successfully scan a QR code. Older phones, cracked camera lenses, or simply unfamiliarity with QR codes — it happens.

Under every QR code, print the short URL of your menu in small text: arrivamenu.com/your-restaurant. Guests who can't scan can type it. It takes one extra second and removes a real friction point.

Create your QR menu today

Free during Early Access. No credit card required.

Get started free →