**No.** A QR code is a permanent printed pattern of black and white squares defined by ISO/IEC 18004:2024 — it cannot expire, rot, or degrade in a file. DENSO WAVE invented the format in 1994 and QR codes printed 30 years ago still scan today if the surface is intact. But the *destination* it points to can break: the URL dies, the provider’s short-link lapses, or the hosting account closes. That is why some codes stop working even though no code “expired.”
What a QR code actually is
A QR code is a two-dimensional matrix barcode standardised as ISO/IEC 18004. It can encode up to 4,296 alphanumeric characters or 7,089 numeric digits across 40 symbol sizes (Version 1 at 21×21 modules to Version 40 at 177×177 modules). Error correction level H recovers up to 30% of damaged codewords (Reed–Solomon codes), which is why logo overlays work. A static code holds its URL, text, or credentials directly in the pattern, so the only things that can stop it are physical damage to the image or death of the destination it encodes. Make one free at the QR generator, keep the destination URL live, and it works as long as the surface it is printed on.
The 4 real reasons a code stops working
- **Destination URL deleted or moved** — the most common cause. The owner changed hosting, renamed a page, or let a domain lapse, and now the code resolves to nothing.
- **Dynamic/pro subscription lapsed** — a dynamic code dies when its short-link provider stops resolving it. The pattern is fine; the redirect service is gone.
- **Physical damage** — a torn, smudged, or low-contrast print makes the camera unable to decode. This is a print problem, not an expiry problem.
- **Provisioner shut down** — a free dynamic trial, or the vendor itself, disappears. Codes that depended on it go dark with it.
Static vs dynamic lifespan: the subscription trap
| Static QR code | Dynamic QR code | |
|---|---|---|
| Who keeps it alive | You (or nobody) | The redirect provider |
| Stops working if | Destination link dies | Subscription lapses, vendor shuts down, or link dies |
| Cost to keep alive | ₹0 forever | Subscription or account dependency |
| Right for | Permanent print | Redirect-able campaigns |
Static QR codes never expire as long as the destination URL works. Dynamic codes survive only as long as the service that resolves them — build your print strategy around that difference.
How to future-proof a QR code
- Own the destination. Put the QR on a URL you control and renew — a domain you own, not a vendor’s landing page.
- Prefer static for permanent placements. No subscription, no provider, no account that can lapse.
- If you must go dynamic, keep the provider and account active, and know exactly what happens if you stop paying.
- Print with generous size and quiet-zone margin, and use high-contrast colours — protection against physical damage.
- For things that change (menus, offers), generate a new code when the target changes; do not let a stale URL linger in print.
How to recover a broken code’s URL
A damaged or failed code is not always lost. Most phone cameras decode the pattern before the redirect, and several apps expose the underlying URL:
- Scan with your camera, then tap to view the raw link in a browser before it redirects.
- Use a QR decoder app that shows the encoded string (both raw and final URL) instead of opening it.
- If the code is printed, photograph it square and level, increase light, and retry at a closer distance or larger surface area.
Recovered the payload? Recreate it as a free static QR code on a URL you control, and print fresh.
