Do QR Codes Expire? (And Why Yours Stopped Working)
Short answer: a static QR code never expires. The pattern of squares is the data, so a static code printed on a sign in 2015 will still scan today and will still scan in 2045. If your QR code has stopped working, the code itself is almost never the problem — something it points at has changed, or something about how it was printed or displayed has broken the scan.
Static versus dynamic: the distinction that decides everything
A static QR code encodes the destination directly. Scan it and the phone reads the URL, the phone number, or the WiFi credentials straight out of the pattern. Nothing sits in between, there is no server involved, and there is nothing to expire. This is what you get from a free generator that does not ask you to create an account.
A dynamic QR code encodes a short redirect URL owned by the company that made it. Scanning it hits their server, which then forwards you to the real destination. That indirection is genuinely useful — you can change the destination without reprinting — but it means the code only works for as long as that company keeps the redirect alive and you keep paying for it.
This is the single most common reason a working QR code suddenly stops working. The trial ended, the subscription lapsed, or the provider went out of business, and every code you printed died at the same moment.
How to tell which kind you have
Scan it and look at the URL before you open it. If it shows the actual destination you expect, it is static. If it shows a short domain you do not recognise, it is dynamic and dependent on that service. You can check safely without opening the link using the safe QR code scanner, which shows you the destination first.
Eight reasons a QR code stops scanning
- The dynamic service lapsed. Free trial ended or the plan was cancelled. Every code from that account dies together.
- The destination URL changed. The page was moved or deleted and now returns a 404. The code scans fine; the landing page is gone.
- The domain expired. If the code points at a domain you no longer own, it may now belong to someone else entirely.
- A URL shortener shut down. Codes built on third-party shorteners inherit that shortener's lifespan.
- Printed too small. Below about 0.8 in square, phone cameras struggle. Bigger is always safer.
- Not enough contrast. Light grey on white, or a busy photo behind the code, defeats the scanner.
- The quiet zone was cropped. QR codes need clear margin all around, roughly four modules wide. Designers crop this constantly.
- Physical damage. Faded ink, scratches, or a sticker over a corner. Error correction tolerates some loss, not unlimited loss.
How to make a code that outlives the service that made it
If you need permanence — a headstone, a plaque, a product label, anything printed at volume — use a static code pointing at a URL on a domain you control. You keep the ability to change the destination by redirecting at your own server, and you remove any dependency on a third party's business model. That is the best of both worlds and it costs nothing beyond the domain you already own.
If you genuinely need to change destinations frequently and cannot run your own redirects, dynamic is a reasonable trade — just go in knowing that you are renting, not buying, and that everything you print has an expiry date tied to your payment method.
Before you reprint
Test the finished code at the size and on the material you will actually use, with more than one phone. Print a proof, stick it where it will live, and scan it from the distance a real person will stand. A code that scans perfectly on a monitor can fail completely on matte vinyl in low light.
Standards and references
The QR code specification itself is ISO/IEC 18004 (Information technology - Automatic identification and data capture techniques - QR Code bar code symbology specification). QR codes have no expiry field in the specification - they encode text and nothing else. Print-quality grading follows ISO/IEC 15415, which is what determines whether a code physically scans.
Related: create dynamic QR links you control · all QR code tools
