A QR code lasts as long as whatever it points to keeps working. The printed pattern is just encoded data — it does not have a battery, a timer, or a shelf life, and it will not fade from age the way ink can. So the real question is not how long the code lasts, but how long its destination stays reachable. For a static code that can be indefinite. For a dynamic code it depends entirely on the redirect service behind it.
The pattern does not age
A QR code is a pattern of light and dark squares that a camera reads optically — see how QR codes work for the mechanism. There is nothing in it to decay. A code printed today will be just as readable in twenty years, provided the print survives: adequate contrast, enough size, a clear margin, and a surface that has not faded, scratched, or yellowed. Those are the only physical limits, and they are covered in QR code best practices.
Static codes: indefinite, if you control the destination
A static code has the destination baked into the pattern, with no server in between. It keeps working for as long as that URL resolves. If the URL is one you control — your own domain, a file you keep hosted — you can keep it alive indefinitely. If it points at a third-party page that later moves or is deleted, the code breaks, but that is the destination failing, not the code. This is why static codes are the right choice for anything whose target genuinely never changes.
Dynamic codes: as long as the redirect is maintained
A dynamic code encodes a short redirect URL that a provider’s server resolves to your real destination. That indirection is what lets you change the destination after printing — and it is also the thing that can fail. If the redirect service goes down, discontinues a plan, or switches your code off because a subscription lapsed, every scan stops resolving. With most providers the lifespan of a dynamic code is therefore the lifespan of your payments; the details are in do dynamic QR codes require a subscription and what happens when a QR code expires.
How to make a code that genuinely lasts
- Use a static code wherever the destination will never need to change — it has no failure point beyond the print itself.
- If you need it editable, avoid the subscription trap. Choose a provider that charges once rather than monthly, so there is no bill to miss, and confirm you can export your codes and destinations.
- Keep the destination alive. A code on your own domain outlives any provider; a link to someone else’s platform lasts only as long as that platform keeps the page.
QRever is built for the permanent case: you pay once per code, it is never deactivated for billing, and every code ships with a full export and — for dynamic codes — a static-fallback generator, so your destination survives even if QRever does not. That guarantee is written out in the QRever promise.