WHAT THIS ARTICLE DOES AND DOES NOT TELL YOU✓A static code holds its destination inside the pattern. There is nothing in it that can expire.✓A dynamic code holds a short link; the link redirects. If the redirect is switched off, the code still scans and leads nowhere.✓Most “expired QR code” searches are a dynamic code whose subscription ended.✓It does not name competitors or their terms. Read theirs before you print a code that depends on them.
A static code cannot expire
A static code’s data is its destination: the URL, the Wi-Fi password, the contact card. Decoding it needs nothing but the pattern. It will work in twenty years if the thing it points at still exists, because no server is involved in reading it.
A dynamic code is a printed short link
A dynamic code carries a short link to the provider’s server — on this site, a qrrd.in address. The server looks the code up and redirects to wherever its owner pointed it most recently. That is what makes it editable and measurable, and it is also the dependency: the code works while the provider keeps answering for it.
When a subscription ends, some providers stop answering. The code still decodes perfectly — a scanner will show you the short link — but the link now goes to an error page or a page asking the owner to pay. That is what “my QR code expired” almost always means.
Nothing in the ink expired. Somebody switched off the server the ink points at.
The other ways a code stops working
The destination itself can go: a page is deleted, a domain lapses, a file is moved. That breaks static and dynamic codes alike. The difference is that a dynamic code can be repointed and a static code has to be reprinted.
A code can also be suspended for abuse — if it points at phishing or malware, a responsible provider stops it redirecting. That is the one case where you would want a code to stop.
What we do instead
On this site, a dynamic code keeps redirecting after a downgrade, a cancellation or a renewal that lapses. It enters what we call Continuity Mode: it keeps sending scans to its last destination, while editing and new analytics stop. That is a commitment in our terms of service, not a setting. The one thing it does not cover is a code suspended for abuse.
What this article is not
It describes how redirects work and what this site commits to; it makes no claim about any other provider’s current terms.
A destination that disappears breaks any code, static or dynamic. Keep destinations you control.
Find out why a code stopped working
Decode it and see what it actually contains — the link, where it goes now, and whether that answers.
We’d like to count visits with Google Analytics and see where pages confuse people with Microsoft Clarity. Both set cookies, and nothing loads until you choose. Anything you type stays hidden from recordings.
Change it any time from “Cookie settings” at the foot of every page. Cookie policy