Static vs Dynamic QR Codes
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readA static QR code carries its data inside the symbol. There is no account, no subscription and no server between the phone and the answer, so there is nothing that can be switched off.
That is a narrower promise than it sounds, and the narrowness is the useful part. Below is what can still break, including the parts we are responsible for.
✓ Scan-tested: this code reads back correctly.
Contrast 21:1, Strong
Version 2 · 33 modules · print at least 13.2 mm wide
"Do QR codes expire" is really two questions wearing one coat. The symbol cannot expire. Everything it depends on can, and the difference between a code that lasts twenty years and one that dies in three months is how many dependencies you accepted.
| Part | Verdict | Why | Controlled by |
|---|---|---|---|
| The printed symbol | Cannot expire | Ink on paper. The modules encode the data itself, so it decodes to the same text forever with no service involved. | You, and physics |
| The QR format | Cannot expire | Published as ISO/IEC 18004 and unchanged in its essentials since the 1990s. Every camera made since has read the same symbols. | An open standard |
| A Wi-Fi, contact or calendar code | Cannot expire | The passphrase, card or event is inside the symbol. It keeps working with no connection and no company, until the underlying detail changes. | You |
| The web page it points at | Can break | A link code is only as durable as its destination. This is where almost every dead QR code actually dies, and it has nothing to do with the code. | Whoever owns that domain |
| A generator's free trial | Will expire | The usual trap. A free dynamic code redirects through the generator's server, and when the trial ends the redirect stops and every printed copy dies at once. | The generator |
| A dynamic code, including ours | Will expire | Any redirect depends on the service running it staying up. That is true of this site as much as any other, and it is the price of being able to change the destination. | Whoever runs the redirect |
The usual story: somebody made a free code, printed a thousand menus, and months later every one of them leads to a page asking for a subscription. Nothing was wrong with the code. It was dynamic, which means it never contained the destination at all, only an address on the generator's server that redirected onwards. When the trial ended, the redirect stopped, and every printed copy died at the same moment.
This is not a scam so much as a business model, and it is worth understanding rather than being angry about. A redirect is genuinely useful: it is how you change a destination after printing, and how scan counts are possible at all. It just has to be a decision rather than a default.
Our dynamic codes redirect through this site, so they carry exactly the dependency described above. If this site goes away, they stop. We are not going to claim otherwise on a page about expiry, because that is the claim the whole page exists to criticise.
The static codes are different in kind, not in degree. They are generated in your browser and never sent anywhere, and the file you download contains the whole thing. Delete this site and every static code ever made here keeps working, which is the only definition of permanent worth anything.
The longer version of this argument, with what each type costs and when a redirect really is the right answer, is in do QR codes expire and static versus dynamic.
The code itself never does. A static QR code is ink encoding data directly, so it decodes to the same text forever with no company in the middle. What expires is either the page it points at or, for a dynamic code, the redirect service in between.
Almost certainly because it was dynamic. Many free generators hand out codes that redirect through their own server, then stop redirecting when a trial ends or a plan lapses. Every printed copy dies at the same moment. A static code cannot fail this way.
The static ones are, in the only sense that means anything: they carry their data inside the symbol, so they keep working if this site disappears tomorrow. Our dynamic codes are not, because a redirect depends on a server, and we say so rather than implying otherwise.
Use a static code, and point it at a web address you control, ideally your own domain. Then the only thing that can break it is you letting that domain go. Every other option puts the code's lifetime in somebody else's hands.
Not on a static one. There is nothing to count, because scanning it involves no server at all: the phone reads the symbol and acts on what is inside. Scan limits only exist where a redirect is being metered.
A link or some text into a code, with nothing else in the way.
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readThe usable square inside a round sticker is 70% of its diameter. Measured minimum sizes for real links, against every common sticker size.
8 min readWhat each platform already ships, the measured cost of each payload type, and how to check an offline claim yourself.
26 min read