Static vs dynamic QR codes
Updated September 2026
There are two kinds of QR code. A static code stores its data directly. A dynamic code stores a short redirect that you can re-point later. That one difference decides everything else — cost, editability, tracking and how long it lasts.
What a static QR code is
A static QR code has the actual content encoded in the pattern — the full URL, the Wi-Fi password, the contact card, the UPI ID. Nothing sits between the scan and the destination.
Because the data is in the code, a static code needs no server, works offline where the content allows (Wi-Fi, plain text, a contact card), has no running costs, and never expires. It also can't be changed: to point it somewhere else, you generate a new one.
What a dynamic QR code is
A dynamic QR code encodes a short link like qr.example/abc123. That link lives on a server and redirects to wherever you set it. The printed code never changes; the destination behind it can change any time.
That redirect is also where scan tracking happens — every scan passes through the server, so you can count scans, see rough location, device and time. The trade-off is that it depends on that server staying online and, in practice, on an active subscription.
The one-line test
Ask one question: after this is printed, will I ever need to change where it goes, or know how many people scanned it?
If no — static. If yes — dynamic.
When static is the right choice
Static is the better option more often than people assume:
- Wi-Fi codes, contact cards, UPI/payment codes — the data has to be in the code
- A link to a page you control and won't move (your homepage, a permanent landing page)
- One-off print runs — event signage, a flyer for a specific week
- Anything where you don't want a dependency on a third-party service that could shut down
- Personal use, and any project where free-forever matters more than analytics
When you actually need dynamic
Dynamic earns its subscription when:
- The destination will change — a seasonal menu, a rotating promotion, a campaign landing page
- You've already printed the code and the URL now needs to change (a typo, a rebrand, a moved page)
- You need scan analytics — counts, timing, location, device — to measure a campaign
- You want one code to behave differently by time, language or an A/B split
- You're managing hundreds of codes across locations and need a dashboard
Cost
Static QR codes are free, from any decent generator, with unlimited scans and no watermark. There is no ongoing cost because there is nothing running.
Dynamic QR codes are a subscription — typically a few dollars a month per batch of codes — because someone has to host the redirect, store the analytics and keep it online. If the subscription lapses, dynamic codes usually stop working.
You can't convert one to the other
A static code's data is fixed in the pattern, so it can't be 'upgraded' to dynamic. A dynamic code is a specific short link, so it can't be made static without changing what it encodes.
If there's any chance you'll need dynamic later, decide before you print. Reprinting is the expensive part.
Do static codes track scans at all?
Not on their own. But if a static code points at a URL with UTM parameters, your website analytics (Google Analytics, Plausible and so on) will record those visits — you get a scan count and basic source data without a dynamic code or a subscription. It's a good middle ground for a URL code when you just want to know roughly how a campaign performed.