The format has no built-in expiration
A QR code is a visual encoding of data, standardized by ISO/IEC 18004. Nothing in that standard includes a timestamp, a kill switch, or any concept of "expiring." A scanner reads the pattern and gets back exactly the bytes that were encoded, today or in twenty years, assuming the print itself hasn't physically degraded. So when someone says "my QR code expired," they're really describing one of a few different things happening one level up, at the content the code points to.
The three real reasons a QR code stops working
1. It was a dynamic code, and the redirect service stopped resolving
This is the single most common cause, and it's the one people mean when they say a QR code "expired." If the code encodes a link to a provider's own shortlink domain rather than your actual destination, the code depends entirely on that provider's server staying up and configured correctly. Free trials end, companies get acquired, pricing changes — and the code silently breaks with no warning. See Static vs. Dynamic QR Codes for the full mechanics.
2. The destination content moved or was deleted
Even a perfectly static code that encodes a URL directly can "stop working" in a practical sense if that URL's page gets deleted, the domain lapses, or the site is redesigned and the old path 404s. The code itself is unchanged — the web page just isn't there anymore.
3. The underlying data changed
A Wi-Fi QR code with the old password, or a vCard with an old phone number, will still scan and produce a result — it's just the wrong result now. The code isn't broken; the information baked into it is stale.
How to make one that will never break
- Use a static code so there's no third-party redirect service in the chain at all.
- If you're encoding a URL, point it at a page you control and don't plan to remove or restructure.
- For Wi-Fi and contact codes, only reprint if the underlying details actually change — otherwise they're good indefinitely.
- Keep a digital copy of your design (or just regenerate it here later) so reprinting, if you ever need to, takes two minutes.