How to make sure your QR code works forever
Nothing is literally forever, but the failure modes are predictable. Pick the right type of code, avoid the two classic traps, and a code you print today will still resolve years from now.
Updated October 6, 2026 · 4 min read
Match the code type to the content
Static codes encode their content directly, so they keep working as long as the destination exists. Dynamic codes depend on a redirect service staying online. Neither is 'better' — the mistake is picking the wrong one.
Both types outlive their usefulness for the same reason: they are left pointing at something that no longer exists. The type does not cause the failure, it decides whether you can do anything about it.
- Never changes → static code
- Might change → dynamic code
- Printed at scale → dynamic, so a change is not a reprint
Avoid the two classic traps
The first trap is a destination you do not control. The second is a short link you do not control. Solve both and neither a website rebuild nor a provider change can kill your printed codes.
Both traps share a shape: the code is fine and the thing behind it is not yours. You can print a thousand perfect codes and lose every one of them to a decision made by somebody else.
- Own the destination URL and keep it redirectable
- Use a short domain you can move between providers
- Check what happens to codes if a subscription lapses
The third trap: the provider disappearing
Providers get acquired, retire free tiers and shut down products. Unlike the first two traps, this one is not about what you own — it is about whether the service you depend on still exists when the code is five years old.
The mitigation is the same as for the other two: keep the redirect on a hostname you control, so a provider change is a configuration change rather than a reprint. If that is not possible, at least check the terms for a stated policy on what happens to codes if the service ends.
- Prefer a provider that lets you use your own domain
- Avoid a free tier you would not be able to replace quickly
- Look for a written policy on codes if the service shuts down
- Export destinations and scan history while you can
A practical setup for a long-lived code
None of this is complicated; it is just a handful of decisions taken before the print run rather than after the first failure.
- Static only where the data is genuinely permanent
- Dynamic for anything that outlives a single campaign
- Your own domain in front of every redirect
- A written record of which code is on which item
- Turn the default destination into a page that will still make sense if the campaign ends
What can still fail
Even a well-built code depends on people. It fails if the domain registration lapses, if nobody can log in to the account that edits the redirect, or if someone deletes the landing page it points to.
So 'works forever' really means 'works as long as the pieces are maintained' — a domain that is renewed, an account someone can access, and a destination that is still the right place to send people. Write those three down next to the code and most of the risk is gone.
- A domain that auto-renews and a card that is not expired
- More than one person who can reach the account
- A destination that still exists and still makes sense
Frequently asked questions
Do QR codes have an expiry date?
Why do QR codes stop working?
What is the most durable option?
How long can a printed QR code realistically last?
Should I re-test old codes?
What if my provider shuts down?
Keep reading
Ready to create one?
Dynamic codes are editable forever from €3/month.
Create your first dynamic QR code
Free to start. One code, editable forever, with scan tracking from the first scan.