The short answer: the pattern itself never expires
A QR code is an image. A grid of black and white modules encoding a string of characters, usually a url. The ISO/IEC 18004 standard that defines the format includes no counter, no timer and no expiry date. The code has no memory of time passing.
In practice: the table tent you have printed today will still be readable in fifteen years. A smartphone camera will read the same content, character for character. On that point, QR codes really are permanent.
So the question of QR code lifespan is never about the square itself. It is about what sits at the end of the link. And that is a different story.
Out of the hundred or so QR menus we see every month, not one is unreadable because of the code. Nine times out of ten, the failure comes from a dead link behind it.
How long does a QR code last? It depends on the type
To the question "how long will it keep working?", there is not one answer but two. They depend on the type of code you generated, often without realising it.
Static QR codes: frozen forever
A static code carries the information directly in the pattern. The address of a PDF file, a piece of text, a phone number: everything is written into the black modules. A static code does not route through any intermediary.
The upside: it depends on no third-party service, no subscription, no account. It will never switch off. The downside, and it is a serious one: these codes cannot be edited. If your menu PDF moves to a new address, the code points at nothing. You have to reprint everything.
Dynamic QR codes: a link that stays alive
A dynamic code encodes a short redirect url. The scan goes through that address, which then forwards to the final page. Dynamic codes can therefore be updated without touching the printed material.
You change the seasonal menu, drop a dish, switch to the lunch offer: the pattern stays the same. That redirect layer is also what makes it possible to count scans and see when your guests actually look at the menu.
The catch: a dynamic code stays live only as long as the redirect service is running. If the generator shuts down or your subscription lapses, the link dies. That is where all the confusion about expiry comes from.
What does QR code "expiry" actually mean?
The word is misleading. When a provider talks about expiry, it means the end of its redirect service, not the death of the code. Three scenarios come up again and again.
- End of free trial: many generators give you 7 to 14 days, then cut the redirect until you subscribe.
- Scan quota reached: some cap the number of monthly reads, often around 500 or 1,000.
- Service shutdown: the tool disappears, and with it the millions of short urls it hosted.
In all three cases the image is still perfect. It is the destination that is no longer reachable. Guests get an error page, or worse, an advert for the generator.
Static or dynamic: what you lose, what you gain
The choice comes down to a simple trade-off: full independence versus the ability to make changes. Here is how the two compare on the points that actually matter to a restaurant.
| Criterion | Static QR code | Dynamic QR code |
|---|---|---|
| Lifespan of the pattern | Permanent, no conditions | Permanent, no conditions |
| Lifespan of the link | As long as the target page exists | As long as the service is running |
| Updating the content | Impossible, reprint required | In seconds, from your account |
| Scan tracking | No data | Number, date and time of each scan |
| Cost over 3 years | Free, but a reprint with every change | Subscription, no reprints |
For a menu that changes twice a year, the maths adds up fast. Reprinting 40 laminated table tents costs more than a year's subscription. It is also a good moment to check that your QR code menu points to a clean mobile page and not to a PDF nobody can read.
What stops a QR code from being scanned?
Expiry is only one cause among several. On the ground, plenty of failures have nothing to do with time.
Physical causes
A damaged surface sends the read rate down long before any subscription runs out. The error correction built into the format tolerates up to 30% of the surface being damaged at level H, but no more.
- Scratches, grease or glare on a table tent sitting near the griddle.
- Printing under 2 cm wide: too small to decode from 30 cm away.
- Poor contrast, a light code on a dark background or inverted.
- The image stretched during layout, which distorts the modules.
Technical causes
The link can also be alive but unusable. An expired SSL certificate, a 404 after a website rebuild, a domain name left to lapse: the scan lands on a warning message. The guest closes it, and you lose the order.
Canva, Adobe Express, InDesign: how good are their codes?
These tools come up constantly in searches about lifespan. They all work the same way: generation is built into a graphic design tool, not into a tracking service.
QR codes generated by InDesign are purely static. They are permanent and depend on no third party. Canva and Adobe Express also produce codes that stay readable indefinitely, but if the link they encode points to a document hosted on their platform, access depends on your account and your plan.
These generators are fine for one-off events, a poster or a flyer. For a menu you edit all year round, their limits show quickly: no updates possible, no scan tracking.
How to create a QR code that does not expire
If you want a code that is genuinely reliable long term, the method comes down to five points. It applies just as well to a menu as to a review request or an allergen sheet.
- Use your own domain name for the redirect. A url such as menu.your-restaurant.com stays under your control, even if you switch providers.
- Check the expiry policy before you generate: quotas, trial period, how long data is kept.
- Print at error correction level H and at least 3 cm wide, on a flat surface.
- Keep the vector file of the code, in SVG or EPS, for any future reprint.
- Test every quarter with two different phones, one iPhone and one Android.
That last point takes three minutes and saves you months of lost scans. Also check that the landing page meets your allergen information obligations, because out-of-date content is not just awkward, it can put you offside.
Which type of code to choose for your business
Not everything needs the same approach. The right question is not "which one lasts longer", but "how often does the content change".
Fixed content: static is enough
Contact details, wifi access, a link to a homepage that will not change: a static code does the job. It depends on nobody and will never cost you anything.
Living content: dynamic is the only option
Daily specials, seasonal menus, promotions, bookings, review collection. As soon as you need to make changes without reprinting, dynamic is the only workable choice. The update and tracking tools then become the real value, far more than the square itself.
Key takeaways
A QR code does not die of old age. Its useful lifespan depends entirely on how solid the link is and how serious the service hosting it is. A static code lasts indefinitely but locks you into its original content. A dynamic code lets you change everything, provided you pick a serious provider and keep control of your domain.
Ask the right questions before you print: who controls the url, what happens if I stop paying, and can I get my data back. The answers are worth far more than a "permanent" promise splashed across a homepage.














