Static vs dynamic QR codes: what the difference really means
The static vs dynamic QR code question decides whether the code you print next week still works next year. A static code carries its data inside the pattern, so it never expires. A dynamic code carries a redirect owned by someone else, so it lasts exactly as long as their service does. Here is how each works, what the paid tiers really sell, and how to choose.
How a static QR code works
A QR code is a picture of some text. The generator takes the text, whether https://example.com/menu or WIFI:T:WPA;S:Cafe;P:latte;;, adds error-correction data, and arranges the result as a grid of dark and light modules. A phone reads the grid, corrects any damage, and hands the text to the operating system, which decides what to do with it: open a browser, offer to join a network, save a contact.
In a static code, that text is your destination. The web address of your menu is written into the pattern itself. Nothing is looked up along the way; the phone goes straight from the printed code to your page. That is why a static code has no expiry date and no dependency on the company that generated it. You could close this site tomorrow and every code made here would keep working, because we were never in the path.
The trade-off is equally simple: because the destination is baked in, it cannot be changed after printing. If the page moves, you generate a new code and reprint. Later in this article there is a way to keep the flexibility without giving up the permanence.
Dynamic QR code meaning: a redirect you rent
A dynamic QR code does not contain your destination. It contains a short web address on the vendor’s own domain, something like qrv.example/a8K3x, and the vendor’s server holds a table that says “a8K3x forwards to https://yoursite.com/menu”. When somebody scans it, the phone opens the vendor’s address, the server looks up the row, records the scan, and sends the phone on to your page.
That indirection is the whole product. Because the table lives on the vendor’s server, the vendor can change the row (so the destination can be updated after printing), count the lookups (scan analytics), serve different destinations by country or device, and switch the row off. Every dynamic feature you have seen advertised is a consequence of the code pointing at someone else’s server instead of at your page.
It also explains the name. “Dynamic” describes the redirect, not the code. The printed pattern is exactly as fixed as a static one; the only thing that changes is where the vendor’s server sends people.
Why dynamic QR codes expire
A redirect is a service with running costs, and it is the thing the vendor charges for. When the free trial ends, or the subscription lapses, or the vendor is acquired or shuts down, the row is deactivated or the whole domain stops answering. Every code that pointed at that row stops working at the same moment: the menus, the stickers, the signs, the business cards, all of them.
Nothing about the printed code has changed. Scan it with a reader and you will still see the short address, in perfect condition; it just no longer leads anywhere, or leads to a page asking the owner to upgrade. To the customer that looks like a broken code, and to the owner it looks like the code “expired”, which is how most people describe it when they search for help.
The timing is the uncomfortable part. Trials typically run 7 to 14 days, and a code becomes useful, once printed and distributed, after that window. The vendor knows this: the trial exists so that the cost of leaving (reprinting everything) exceeds the cost of paying.
What “free trial” QR services actually sell
Read the pricing page of any of the biggest generators and the QR code itself is never the product. Generating the pattern is trivial and the software to do it has been open source for years. What you are paying for is:
- The redirect. A short address on their domain, kept alive for as long as you pay. This is the foundation; everything else is built on it.
- Changing the destination. The ability to alter where that address forwards to. Useful when a menu URL changes or a campaign ends.
- Analytics. Scan counts, time of day, rough location from the IP address, and device type, all collected because the phone has to visit their server first.
- Extras. Hosted landing pages, hosted PDFs, “multi-URL” codes that route by device, retargeting pixels, and team features.
None of this is dishonest in itself. A redirect with analytics is a legitimate service. The problem is the framing: “free QR code” on the landing page, then a redirect that dies with the trial, and a printed code the customer cannot fix without paying. If a generator asks you to create an account before it lets you download, that is usually the moment a redirect is inserted between your code and your page.
When a dynamic QR code is worth paying for
There are situations where the redirect earns its fee, and pretending otherwise would be unfair.
- You must change the destination after printing. A code on a product that ships for years, pointing at a support page you know will move, is a reasonable candidate. So is a code printed on a vehicle wrap or a permanent sign.
- You need scan counts you cannot get any other way. If the destination is a third-party page you do not control (an app store listing, a review form, a payment link), you cannot add your own analytics to it, and a redirect is the only place to count from.
- You want to test or target. A/B testing two landing pages from one printed code, sending iPhone and Android users to different stores, or changing the destination by time of day all need a server in the middle.
- Retargeting. Some marketing teams want a pixel to fire on scan so they can advertise to those people later. Only a redirect can do that.
If one of those describes you, pay for it knowingly: pick a vendor you expect to exist in five years, put the renewal on a calendar, and keep a record of which printed items point where. Treat the redirect as a subscription with physical consequences, because that is what it is.
How to get most of that with a URL you control
For everyone else, there is a middle path that keeps the code static (so it never expires) while giving you the two things people actually miss: the ability to change the destination and some idea of how many people scanned.
A page on your own domain
Instead of encoding the final destination, encode a page you control: https://yourcafe.com/menu rather than the PDF’s long hosting URL. When the menu changes, update that page, or make it redirect to the new file. The printed code is untouched. This is exactly what a dynamic code does, except the redirect is on your domain, costs nothing extra, and cannot be switched off by anyone but you.
UTM parameters for your own analytics
Add tags to the encoded address, for example https://yourcafe.com/menu?utm_source=qr&utm_medium=table-tent&utm_campaign=spring. Your existing analytics will then show how many visits came from that code, separately from the poster or the sticker if you tag each differently. It counts visits rather than scans, so it misses people who scan and do not load the page, but it is free, private and permanently yours.
A short path on your own domain
Long URLs make dense codes. If your address is long, set up a short path on your own site (yourcafe.com/m) that forwards to the long one. Most website builders and hosting panels have a redirect setting, and it takes a minute. You get a small, clean code and a destination you can change, with no vendor in the middle.
Static vs dynamic QR code: side-by-side comparison
| Static QR code | Dynamic QR code | |
|---|---|---|
| Expiry | Never; works as long as the print exists | When the trial or subscription ends, or the vendor closes |
| Change destination after print | No (unless you encoded a URL you control) | Yes, through the vendor’s dashboard |
| Scan counts | Not directly; visits can be counted on your own site with UTM tags | Yes, on the vendor’s server |
| Code density | Depends on content length; a short URL is small, a vCard is dense | Small, because the payload is a short redirect address |
| Privacy | The phone goes straight to the destination; nobody in the middle | Every scan is logged by the vendor before the redirect |
| Cost | Free | Subscription, typically monthly or yearly |
| Who controls the destination | You | The vendor, for as long as you pay |
Do QR codes expire?
Static codes do not. There is no clock inside a QR code, no registration and no server to check in with. A static code printed in 2010 scans today. What people mean when they say a QR code expired is that the address inside it stopped leading anywhere, which for a static code happens only when you take your own page down.
Dynamic codes expire whenever the vendor’s redirect is deactivated. The code is the same; the service behind it is gone. See why QR codes stop working for the full diagnosis if you have one that used to scan and now does not.
How to tell which kind you have
Open the QR code reader, upload a photo or screenshot of the code, and look at the decoded text.
- If it shows your own web address, your Wi-Fi details, a contact card or plain text, the code is static. It will keep working for as long as that destination exists.
- If it shows a short address on a domain you do not recognise, typically a vendor’s short domain followed by a few random characters, the code is dynamic. It works only while that vendor keeps forwarding it.
The reader decodes the image in your browser and does not open the link, so it is safe to check codes from strangers as well as your own.
Which should you choose?
For almost every small-business and personal use (menus, review links, Wi-Fi cards, business cards, posters, packaging), a static code that points at a page you control gives you permanence, most of the flexibility, and no bill. That is the only kind of code this site makes: the generator on the home page and every type page produces a static code, verifies it by decoding it with a real scanner before you download, and never asks for an account.
If you genuinely need per-scan analytics on a destination you do not own, or device-based routing, pay for a dynamic service with your eyes open. And whichever you choose, print one copy and check the size at the real scanning distance before ordering five hundred.
Frequently asked questions
Do QR codes expire?
Static QR codes never expire, because the destination is written into the pattern and nothing is looked up on a server. Dynamic QR codes stop working when the vendor's redirect is switched off, usually at the end of a free trial or subscription. The printed code is unchanged in both cases; only the service behind a dynamic one disappears.
What does dynamic QR code mean?
A dynamic QR code contains a short web address on the vendor's domain rather than your destination. The vendor's server forwards each scan to the page you chose and records it. That is what makes the destination changeable and the scans countable, and it is also why the code stops working when the vendor stops forwarding.
Static vs dynamic QR code: which should a small business choose?
For menus, review links, Wi-Fi cards, business cards and posters, a static code pointing at a page on your own domain is the safer choice: it never expires, costs nothing and you control the destination. Pay for a dynamic service only if you need per-scan analytics on a page you do not own, or device-based routing.
Can I convert a dynamic QR code into a static one?
Not the printed one. The pattern already encodes the vendor's short address, and that cannot be changed on paper. Decode it with the reader to recover the destination it used to point to, generate a static code for that destination, and reprint. From then on nothing sits between the code and your page.
Can a static QR code be changed after printing?
The code itself cannot. What you can do is encode a page on your own domain and change what that page shows or where it forwards. The printed code keeps pointing at your page, and you keep control over what is behind it, without paying for a redirect service that could later be switched off.
Are static QR codes bigger than dynamic ones?
Sometimes. A dynamic code holds a short redirect address, so it is always small. A static code holds your real content, so a 30-character URL makes a similar-sized code while a full contact card makes a denser one. Keeping URLs short, or using a short path on your own domain, closes the gap entirely.
Does QR Code Forever make dynamic QR codes?
No. Every code made here is static: the data is embedded, nothing routes through our server, and there is nothing to expire. We do not offer changes after print or scan counting because those features require a redirect that we would have to run, and that redirect is exactly what causes codes to die.
Is a static QR code less secure than a dynamic one?
No. A static code is more transparent: anyone who scans it sees the real destination before opening it. A dynamic code hides the destination behind the vendor's short domain, which is one reason phishing campaigns favour redirects. For your own codes, the security question is simply whether the destination page is one you trust.
Related
Last updated . QR Code is a registered trademark of DENSO WAVE INCORPORATED.