‹ All posts

· 9 min read

Permanent QR code menus: print once, never reprint again

Do QR codes expire? It is the question that comes up before every print run, and the honest answer is slightly annoying: no, and also yes. The square you print is not a subscription — no expiry date baked into the pattern, no clock ticking inside the ink. What can expire is the thing on the other end. A permanent QR code is not a special kind of printing; it is a code whose destination you still control three years from now. Get that right and you print once. Get it wrong and you find out on a Friday with a full room.

Do QR codes expire? The honest answer

A QR code is a picture of some text, and almost always that text is a web address. A phone camera reads the pattern, decodes the characters and hands them to the browser. That is the entire mechanism — no account attached, no renewal date, no phone-home. A code printed in 2012 decodes to the same characters today, assuming the paper survived the coffee.

So when a restaurant says their QR code stopped working, one of three things happened. The printed code was damaged: scratched laminate, faded thermal print, a card sun-bleached in the window. Or the address inside it no longer resolves, because the page moved or the site was rebuilt. Or a free generator routed it through its own redirect, and that redirect was switched off when a trial ran out. Two of those three are about the destination, not the code.

Static and dynamic QR codes, in plain language

Every code you print falls into one of two camps. The vocabulary sounds technical; the difference is one question. Is the final destination written into the pattern, or looked up when someone scans?

  • Static: the final web address is written into the pattern itself. What is encoded is where the guest lands. If that address changes, every printed copy is wrong, and the only fix is new codes and a new print run.
  • Dynamic: the pattern encodes a short address that redirects. The guest hits the short address first, which forwards them to wherever you currently point it. Change the destination once and every code already printed, laminated and stuck to a window follows along untouched.
  • The trade-off runs both ways. A static code depends on your own address staying alive forever. A dynamic one depends on whoever operates the redirect — so the question is never whether it works, but who keeps it working, and for how long.

For a menu, printing a static code is a bet that you will never rename the menu, rebuild the website, move to your own domain or change tools. Restaurants do all four sooner or later, usually for good reasons.

The URL-encoding trap

This is where printed menu codes usually die, and it starts with a tool choice: many generate your QR code straight from the menu's current live address. It looks harmless: it works the day you print it. But that address is now frozen into several hundred physical objects scattered around your restaurant and half your town. The day it changes, all of them point nowhere at once.

The events that change a menu's address are not exotic. They are just a business changing:

  • You rename the menu — the lunch card becomes the all-day card, or summer-2026 stops being an honest name in October.
  • You move the menu onto your own domain, because the agency wants everything under one roof.
  • The website gets redesigned and every path shifts by a folder.
  • You switch menu tools, and the new one issues a completely different address.
  • Someone forces the site onto https or drops the www, and the old link stops matching.
  • A trial ends, a page comes down, and nobody connects it to the codes on the tables.

The damage is not spread evenly, and that is the part people underestimate. Twenty table cards and a window decal you replace in an afternoon with some swearing. The flyers already in hotel lobbies, the code on last season's takeaway bags — those you cannot recall. And the failure is guest-facing: someone sits down, scans, gets an error page, then asks a member of staff carrying three plates. Almost nobody complains; they just form an opinion.

What a permanent QR code actually does: the short-link layer

The fix is one layer of indirection, and it is genuinely that simple. Instead of encoding your menu's current address, the code encodes a short permanent address that belongs to the menu itself rather than to wherever the menu happens to live this year. Scanning resolves that short address, which forwards to the current menu. The printed pattern never needs to know the menu moved.

That is exactly how yourmenu.app builds your code: the QR encodes a permanent short link, not the menu URL. Rename the menu, redesign it, move it onto a custom domain, and the codes you printed on day one keep resolving. It is also the one thing you cannot retrofit — a code already on 500 flyers cannot be upgraded later. A short link has a quieter benefit too: fewer characters means a sparser pattern with chunky modules, which still scans on a 3 cm table card in candlelight, at an angle, on a four-year-old phone.

The honest caveat: indirection is only as durable as whoever runs the redirect, which is a fair question to ask of any provider, including this one. Here the permanent QR code sits in the free plan — no cost, no credit card, one complete menu with allergen tags and instant updates. Your tables do not depend on a payment clearing every month.

The reprint maths: a café with twenty tables

Numbers make it concrete. Take a café with twenty tables that adjusts prices six times a year: a supplier increase in February, the summer card in May, two dishes repriced mid-season, an autumn change, a new year adjustment. Its printed footprint:

  • 22 table cards — twenty tables plus two spares for the inevitable coffee incident
  • 1 window decal by the door, for passers-by reading the menu from the street
  • 250 flyers for the hotel next door, the co-working space and the tourist office

Run it as laminated paper menus. Say two euros all-in per card at your printer; use your own number, the shape does not change. That is 44 euros a round, six rounds, 264 euros a year in materials. The real cost is the other column: roughly ninety minutes each time to update the file, print, trim, laminate and swap every table. Nine hours a year of someone's evening, plus two days each round where half the room has the old price.

Run it as a QR menu with a permanent code and there is one print run. A price change is a tap on your phone during the coffee lull, live before the next scan; six a year is maybe half an hour of work. The flyers in the tourist office still point at the current menu two years later.

Now the same café with a URL-encoded static code. Prices still change freely — that part works. But in year two the owner moves the menu onto her own domain, exactly the kind of small upgrade you should be able to make. All 22 cards and the decal get reprinted: another 44 euros, another evening, plus the days before anyone notices. And the 250 flyers are gone. Not expensive to replace — impossible to replace, because they sit in other people's buildings.

The point is not the euro totals; your printer and your table count are different. The point is the shape. Paper costs you regularly and predictably. A permanent code costs you once. A URL-encoded code looks free right up until one ordinary decision invalidates every physical copy at once.

What to check in any tool before you print

This applies to whichever tool you choose, including the ones that are not this one. Before anything goes to a printer, get answers to all seven:

  • Scan your own code with a plain camera and read the decoded text before the browser opens it. If your menu's full web address is in there, the code is static — and that address just became a permanent commitment.
  • Ask what happens to printed codes if you rename the menu. Then ask again about moving to a custom domain, the change that catches most people.
  • Ask who operates the redirect, and what happens to it if you downgrade, cancel or stop paying. A code that dies with your subscription is a rental, not an asset.
  • Check whether the code survives switching providers later. Nobody plans to; plenty of restaurants do.
  • Get the code as a vector file (SVG, EPS or PDF), not just a PNG. A scaled-up bitmap gives soft edges and unreliable scans on the window decal.
  • Confirm you can reprint the identical code any time without regenerating it. You will need more cards eventually.
  • Test the printed proof, not the screen version, with three phones including the oldest your staff owns, in the light your room has at dinner.

If a provider cannot answer the redirect questions clearly, that is your answer. Print a short trial run and hold the big order.

Printing once, properly

With the destination sorted, the print itself is easy to get right and easy to get subtly wrong:

  • Size: around 3 cm across works on a table card scanned from 20 to 30 cm away. A decal read from the pavement needs to be far larger — scale with the distance, then test from where people stand.
  • Quiet zone: leave clear space all around the code. Crowding it with a border or a logo slows scans down or kills them outright.
  • Contrast: dark code on a light background. Not white on black, not grey on cream, not a photo behind it.
  • Finish: matte laminate or matte varnish. Gloss under a downlight or beside a candle throws a reflection across the pattern.
  • Context: one short line about what guests get — along the lines of scan for our menu, allergens included — so nobody has to guess what the square does.
  • Placement: where a seated guest's phone naturally goes, plus one at the window and one where people queue.

None of that rescues a code pointing at a dead address. Sort the permanence first, then print like you mean it.

Starting from scratch is short work: type your menu in, or upload a photo or PDF of the old one and let the AI extraction draft the sections, dishes and prices for you to check. Your menu is live at your-name.yourmenu.app in minutes, with allergen tags and instant updates on the free plan, no credit card. Print the code once and spend the reprint budget on something that actually feeds people.

Permanent QR code menus: print once, never reprint again — yourmenu.app