Skip to content
SmallQRCode

QR Code for Restaurant Menu: The Free, Honest Setup Guide

4 min read · updated 2026-09-11

Every "QR menu platform" wants a monthly subscription for something you can do yourself in an afternoon: point a QR code at your menu. This guide is the honest version — no middleman taking a cut, no per-scan fees, no vendor that can turn your menus off if a card expires.

The whole setup, in one paragraph

Put your menu online at an address you control (a PDF or a page on your own website), then encode that address into a QR code and print it on table tents. Diners scan, the menu opens in their browser, nothing is installed. If the menu changes, update the page — the printed code doesn't change. Done.

Step 1: Put your menu online

The code has to point at something. Pick one:

  • A page on your own website (best): yourrestaurant.com/menu. Your web person updates it whenever the menu changes. Search engines can also find it, which is free discovery.
  • A PDF hosted anywhere stable: your host's file manager, Google Drive ("share with anyone with the link"), or Dropbox. Works fine, looks less polished.
  • What to avoid: services that wrap your menu inside their page with their branding, or generate a "smart link" that expires without a subscription. That's the trap.

One practical rule: short addresses make better QR codes. yourrestaurant.com/menu produces a clean, airy code that scans from across a table; a 90-character URL with session tokens produces a dense, fussy one. If you're using Google Drive, run the link through a shortener first.

Step 2: Generate the QR code (free, no account)

  1. Open the URL QR code generator
  2. Paste your menu's address
  3. Download the SVG for print (a table tent is exactly the "designer will scale it" case — see the SVG QR code generator)

The code is static: the address is physically in the pattern, so it never expires and there's no account to lapse. You print it once and it works for the life of the menu URL.

Step 3: Size it for the table

Diners scan from a table away — arm's length while seated, roughly 50–100 cm. By the 10:1 rule (full detail in the size guide):

  • Table tent: 5 cm / 2 in minimum. 6–7 cm is comfortable
  • Wall poster by the door ("scan for menu"): 10 cm+
  • Dark code on a light background; keep the white margin (quiet zone) intact
  • Label it: "Scan for menu" — a bare code with no instruction gets a fraction of the scans

Step 4: What to do when the menu changes

This is where the self-hosted setup wins. The printed code points at your address, not your menu. Change the menu → update the page → same code on the tables keeps working.

Only reprint when the address itself changes (new website, new hosting). And that's also the one honest limitation of a static code: if you move the menu to a different URL, the printed codes must be replaced. It's a fair trade for never paying a subscription — but if your URL genuinely can't be stable, read static vs dynamic QR codes before deciding.

The questions you're probably asking

"Don't I need analytics — how many people scanned?" Point the code at your own site and you get scans in your analytics for free (how to set that up with UTM tags: tracking QR code scans). The paid platforms sell you a number you can have anyway.

"What about ordering and payment?" A QR code opens your menu; if you also want guests to order and pay from the table, point the code at your ordering system's page instead. Same code, same rules. What a QR code can't do is the ordering logic itself — that's your ordering platform's job.

"Is it accessible enough?" A printed code is the option, not the only door. Keep physical menus for anyone who prefers them, and print the menu's short web address in small text under the code as a fallback — it rescues the phone that won't scan, and it's the most-skipped detail in QR printing. More in the best practices guide.

Related