# How to create a free QR menu for your restaurant

> A QR menu takes about ten minutes to make and nothing to run — if you build it on a page you own rather than a throwaway image. Here's how to do it properly, so the code you print never goes stale.

_Canonical: https://seatsat.com/guides/free-qr-menu-for-restaurants_

---

A QR menu is nothing more than a printed code that opens your menu on a guest's phone. The whole trick is what the code points at: link it to a page you own and can edit, and one printed sticker serves every future version of your menu. Link it to a PDF or an image, and you're back to reprinting codes every time a price moves.

That single choice — a living page versus a frozen file — is the difference between a QR menu you set up once and one you fight with for months. Everything below builds on it.

> **The short version**
>
> - Put your menu on a **web page you control**, not a PDF or an image.
> - Generate a QR code pointing at that page's URL — the code is free, everywhere.
> - Print it once. When a price or dish changes, edit the page; the code never changes.
> - Make sure the page loads fast, reads well one-handed, and lists allergens.

## Why a page beats a PDF (the mistake to avoid)

Most "free QR menu" shortcuts hand you a code that opens a PDF. It works for exactly one day. A PDF is a snapshot: someone has to open it on a phone, pinch and drag to read the small print, and squint at a layout designed for A4. Worse, it's frozen — the moment you raise a price or drop a dish, the printed code is pointing at a lie, and you're reprinting stickers.

A web page has none of those problems. It reflows to the width of the phone, so there's no pinching. It loads in a tap. And because the code only ever encodes the page's _address_, editing what's on the page leaves the printed code untouched. You change the menu; the sticker on the table keeps working.

> Never encode a menu into a QR code. Encode a _link_ to a menu you can edit. The code should be the most permanent thing in the whole system.
>
> _— — THE ONE RULE_

## Step 1 — Put your menu on a page you own

Before you generate a single code, you need a live menu page with its own URL. However you build it, the page should:

- **Load in under a couple of seconds on a phone**, on café Wi-Fi or 4G.
- **Read cleanly one-handed** — sections, prices and descriptions in a single column, no zooming.
- **List the required allergens** per dish. In the EU this isn't optional, and a phone menu is the easiest place in the world to keep it accurate.
- **Live somewhere stable**, so the URL — and therefore the code — never has to change.

If you already run your menu through booking or ordering software, you likely have this page already; you just need its public link. If you don't, this is the part worth getting right, because everything downstream depends on it.

## Step 2 — Generate the QR code from the page's URL

With the page live, copy its URL and paste it into any QR code generator. This step is genuinely free and genuinely commodity — a QR code is a standardised way of encoding a short piece of text, and that text is simply your menu's web address. No tool can meaningfully charge you for it.

A few practical notes that save reprints:

- **Encode the plain URL**, not a shortened link that some third party controls — you don't want your table menus depending on a link-shortener that might lapse.
- **Download it large and vector** (SVG or a high-resolution PNG) so it stays crisp printed big on a table tent or small on a receipt.
- **Test it before you print a hundred of them.** Open your own phone camera, point it at the code on screen, and confirm the menu opens.

> **Make it survive the real world**
>
> - Keep a clear quiet margin around the code — don't crop it tight to the edge of a sticker.
> - Print it at least 2–3 cm across for a table; bigger for a window or A-board.
> - Dark code on a light background scans best; avoid printing it over a photo.
> - Add one line of human text — "Scan for our menu" — so guests know what it is.

## Step 3 — Place it where guests actually look

A code no one notices is a menu no one reads. The reliable spots: a small table tent or sticker at each place setting, the front window for passers-by deciding whether to come in, and the pay point for anyone waiting. If you take bookings, the confirmation message is a natural place to include the same link — the guest can browse before they arrive.

The point of scattering it is that the _same_ code works everywhere. Because it only encodes the page address, one design covers the table, the window, the counter and the confirmation email at once.

## Step 4 — Now the payoff: change the menu, not the code

This is the whole reason to build it on a page. A dish sells out, a supplier price jumps, the specials rotate for the weekend — you edit the page, and every printed code in the building instantly shows the new version. No reprint, no restickering, no "sorry, that's changed" at the table.

&#x20;— to build a menu page and generate the code, start to finish

**1** — print run — the code never changes once it points at a live page

**0** — apps a guest needs to download; every phone camera reads it natively

## What "free" should — and shouldn't — mean

Generating the code is free everywhere, so that's not where the real cost hides. The question that actually matters is what sits behind the link. A free code pointing at a PDF you can't edit will cost you a reprint every month and a stale menu in between. A free code pointing at a menu page you can update in seconds costs nothing and never goes out of date.

So when you compare "free QR menu" options, look straight past the generator and ask one thing: **can I edit the page this points at, in seconds, forever?** If yes, you have a QR menu worth printing. If no, you have a countdown to your next reprint.

## A ten-minute rollout

1. Get your menu onto a live, phone-friendly page with allergens — and copy its URL.
2. Paste the URL into any QR generator; download it large and vector.
3. Test it with your own phone camera before printing anything.
4. Print it once for tables, window and counter; add "Scan for our menu".
5. From now on, when the menu changes, edit the page. The code takes care of itself.

The mistake almost everyone makes is starting with the code. Start with the page you own, and the code becomes the easy part — the one thing you never have to touch again.
