Advanced Topics
Dynamic QR Codes: What They Are & When You Need Them
A dynamic QR code isn't a different kind of QR code. The pattern is identical, the standard is identical, and no scanner treats it specially. The only difference is what's encoded: a short URL belonging to a redirect service, rather than your actual destination. Every advantage and every drawback follows from that one substitution.
The short version
- The code is ordinary. "Dynamic" describes what's encoded, not the format.
- You gain: an editable destination, scan analytics, and a permanently sparse code.
- You take on: a dependency on a service that must keep running for the life of the print.
- The dependency is the underpriced part — printed material outlives most vendors.
- Static is genuinely better for offline, self-contained data.
- Keep an export of your code-to-destination mapping. It's your only exit.
How it actually works
A static code encoding https://example.com/autumn-menu contains those 34 characters in its module pattern. Scanning decodes them and the phone opens the page. Nothing else happens, and nothing is recorded anywhere.
A dynamic code encodes something like https://qordway.com/q/ab12. Scanning decodes that, the phone requests it, and the redirect service answers with an HTTP redirect to whatever destination is currently configured.
The redirect typically completes in tens of milliseconds and is invisible to the person scanning — they see the destination load, occasionally noticing the short URL flash in the address bar first.
It matters more than it looks. A 301 (permanent) can be cached by the browser, so a repeat scanner may go straight to the old destination after you've changed it. A 302 (temporary) asks the browser to check each time, which is what you want for a code whose whole purpose is being changeable. If your provider uses 301s, expect a lag for repeat visitors after a repoint.
What you gain
An editable destination
The headline feature and the reason most people start. The URL lives in a database rather than in ink, so changing it takes seconds and the printed material stays valid. This is worth most when the cost of being wrong is high: 5,000 flyers with a typo, packaging with a two-year shelf life, a sign that outlives the campaign it advertised.
Scan analytics
Because each scan makes a request, it can be counted. That gets you counts over time, device and browser breakdowns and coarse location — and, more usefully, the ability to compare placements by giving each one its own code. See QR code analytics.
A permanently sparse code
Underrated. A short redirect URL is 20–30 characters no matter how long the real destination is, so the code stays at a low version with large modules — which is a genuine reliability advantage in print.
Reuse of printed material
A code printed into a template — a bulletin, a table tent, a For Sale board — can serve a new purpose each cycle without redesigning anything.
What you give up
A dependency, for the life of the print
This is the one that gets underpriced, so it's worth stating bluntly: a dynamic code works only as long as someone keeps operating the redirect service.
A static code printed in 2015 still works today, because it needs nothing. A dynamic code needs a company to still exist, still run that endpoint, still honour that short URL, and still be paid. Printed material routinely outlives the vendors behind it — packaging sits in cupboards for years, signage stays up for a decade.
Three things help. Export your code-to-destination mapping and keep it somewhere you control — without it, a shutdown leaves you with unidentifiable codes in the wild. Prefer a provider that lets you use your own domain for the short URL, so you can re-point DNS at a replacement rather than reprinting. And use static codes for anything that must survive independently of any service.
The offline problem
A dynamic code needs a network at the moment of scanning. This kills it for exactly the payloads that most benefit from working offline — a Wi-Fi code that requires internet to join the Wi-Fi is useless, and a vCard that needs a connection is worse than one that doesn't.
A small delay, and a privacy obligation
The extra hop is usually imperceptible, though it's a real dependency on someone else's uptime. And the log it creates is personal data you're responsible for — see privacy and GDPR.
Usually an account, sometimes a bill
Dynamic codes require a provider relationship. Some free tiers expire dynamic codes after a trial period, which turns printed material into dead links. Check before printing, not after.
Deciding
| Situation | Choose | Because |
|---|---|---|
| Printed at volume | Dynamic | Reprinting is the expensive failure |
| Campaign-linked | Dynamic | Destination will change |
| You want to measure it | Dynamic | Static codes are unmeasurable |
| Packaging, long shelf life | Dynamic | URLs change over years |
| Wi-Fi credentials | Static | Must work without a network |
| vCard on your own card | Static | Self-contained, works offline |
| Asset tags, serial numbers | Static | Plain text, must never expire |
| Must outlive any vendor | Static | No dependency at all |
| A code on a screen | Either | Trivially regenerated anyway |
The rule of thumb: if the cost of being wrong is a reprint, go dynamic. If the payload is self-contained data that must work with no network and no vendor, go static. Most real decisions are not close once framed that way.
Things that surprise people
- You can't convert one into the other. The distinction is baked into what's encoded, so switching means a new code and new printed material.
- Scanners can't tell the difference, and neither can a person looking at the pattern. The only tell is the URL in the preview.
- Changing the destination doesn't change the code. The pattern is unchanged forever; only the database row moves.
- Deleting a dynamic code breaks printed material immediately. There's no grace period unless the provider offers one. Repoint rather than delete.
- Scan counts include bots. Link-preview fetchers and security scanners hit redirects, which inflates counts on codes shared digitally.
Frequently asked questions
What is a dynamic QR code?
A perfectly ordinary QR code that encodes a short redirect URL instead of your real destination. Scanning it requests that short URL, and a redirect service forwards to whatever destination is currently configured. Because the destination lives in a database rather than in the printed pattern, you can change it at any time without reprinting — and because each scan makes a request, scans can be counted.
Can I change a static QR code into a dynamic one?
No. The difference is in what's encoded in the pattern — a static code contains your destination, a dynamic one contains a redirect URL — so switching requires generating a new code and replacing whatever it was printed on. If there's any realistic chance you'll want to redirect it later, choose dynamic at the start; an unused capability costs far less than a reprint.
Do dynamic QR codes expire?
The pattern never expires, but the redirect behind it can stop working — if the provider shuts down, if the account lapses, or if a free tier deliberately disables dynamic codes after a trial. That last one catches people out and is worth checking before printing. Keep an export of your code-to-destination mapping so a provider change doesn't leave you with unidentifiable codes already in circulation.
Do dynamic QR codes scan more slowly?
The decode is identical — a scanner can't tell the difference. There's one extra HTTP request before the destination loads, typically tens of milliseconds and imperceptible. The practical caveat isn't speed but connectivity: a dynamic code needs a network at the moment of scanning, which is why Wi-Fi credentials and contact cards should stay static.
Is a dynamic QR code less secure?
It cuts both ways. A dynamic code can be repointed if it's abused or if the destination is compromised, which a static code can never be. But a compromised provider account can repoint every code you've ever printed at once, which is a much larger blast radius than any single static code. Use strong authentication on the account, and see QR codes and security.