Do QR codes expire?
No — the QR code itself can never expire. A QR code is data encoded in a printed pattern, no different from printed text: as long as the print is legible, any scanner can read it, forever. What can expire is the service behind a so-called dynamic QR code — and understanding that difference is worth real money if you print codes on anything.
Static vs dynamic: the one distinction that matters
A static QR code contains your content directly. Encodehttps://yourshop.com/menu and scanning it opens exactly that address — the data is in the pattern, full stop. No company is involved after the code is generated, which is why a static code cannot expire, be redirected, or be switched off.
A dynamic QR code contains a short URL owned by the QR provider. Scanning it goes to their server first, which then redirects to your content. This enables two features — editing the destination after printing, and scan analytics — but it also means your printed code works only while that redirect keeps working.
The “your QR code has expired” pattern
Here is how it plays out, documented across hundreds of 1-star reviews on Trustpilot for the biggest dynamic-QR services: you generate a code during a free trial, print it on business cards, wedding invitations, product packaging or a banner. Months later the trial or subscription lapses — and the provider deactivates the redirect. Your printed codes now lead to an expiry page. The email that follows offers to reactivate them: typically €120–180 per year, every year, for as long as you want your own print run to keep working.
The pattern has a name: print-and-ransom. The QR pattern on your materials is fine — the provider is simply holding the redirect hostage, because they know reprinting costs more than paying. Review after review tells the same story: a code that “stopped working” days after a trial ended, discovered by customers before the owner noticed.
To be fair to the technology: dynamic codes are not a scam in themselves. Editing destinations and counting scans are real features, and paying for them is legitimate. The problem is the business model that hides the dependency until after you print — and prices the ransom accordingly.
How to check a code you already have
Scan the code (our scanner shows the raw content before opening anything) and look at the address. If it is your own URL, the code is static and safe. If it is the provider's domain or a short link that bounces to your site, the code is dynamic — and its lifespan is a billing decision made by someone else.
Already printed a dynamic code that expired?
The bad news first: only the redirect's owner can revive the printed codes. If paying is not acceptable, that print run is dead. The good news: if you own the destination — your website, your menu PDF, your booking page — you can re-create the same destination as a static code right now, free, and print that going forward. A static code for a URL you own can never be switched off by anyone, because there is nobody in the middle to switch it. The generator on the home page does it in about ten seconds; for a whole print run, the bulk generator turns a list of URLs into a ZIP of codes in one pass.
When dynamic is actually the right choice
Choose dynamic only if you genuinely need to change the destination after printing, or you need scan analytics. If you need the first but not the lock-in, print a static code for a short URL on a domain you control with a redirect you manage — same flexibility, and the only person who can break it is you. For everything else — business cards, packaging, posters, menus, WiFi signs, contact cards — static is the honest default: it works for as long as the destination exists, and it asks for nothing, ever.
Frequently asked questions
Do QR codes expire?
The technology never expires — a QR code is just data printed in a pattern, like text. What expires is the redirect behind a “dynamic” QR code: the pattern points at the provider’s server, and when your trial or subscription ends, that server stops forwarding. The printed pattern is fine; the service in the middle is what dies.
How do I know if my QR code is dynamic?
Scan it and look at the URL it opens. If the address belongs to your QR provider (their domain, a short link, or a tracking redirect) rather than straight to your own website, the code is dynamic and depends on that company staying paid and in business. A static code opens your URL directly — scan one made on this page and you will see your own address, nothing in between.
My dynamic QR code already expired and it’s printed everywhere. What can I do?
If the provider will not reactivate it without paying, the printed codes are unfortunately dead — no one but the redirect owner can point them somewhere else. The fix is for the next print run: create a static code for the same destination (you can do it here in ten seconds) and print that instead. If you own the destination URL, a static code can never be switched off by anyone.
Are there legitimate reasons to use dynamic QR codes?
Yes — two honest ones: you need to change the destination after printing (a menu that moves URLs), or you need scan analytics (counts, locations, devices). If you need neither, dynamic is pure lock-in risk. If you need the first, consider printing a short URL you control (your own domain with a redirect you own) as a static code — same flexibility, no middleman.
Do static QR codes have any downsides?
Two, honestly stated: the content is frozen at print time (fix a typo and you must reprint), and there are no scan statistics (nobody is in the middle counting). Long content also makes a denser pattern, so very long URLs need larger prints. For business cards, packaging, posters, menus and WiFi signs, none of these usually matter — which is why static is the right default.