Static vs Dynamic QR Codes: What's the Difference?
Jan 15, 2026 · QRmkr Team
Every QR code is either static or dynamic. Choosing wrong can mean a wasted print run - or a code you can never fix. Here's the difference in plain terms.
What is a static QR code?
A static QR code encodes your destination URL directly. When someone scans it, their phone reads the URL right off the pattern and goes there. Nothing sits in between.
- Pros: free forever, works offline, no dependency on any service.
- Cons: the destination can never change. The URL is baked into the pixels.
Static codes are perfect for things that never change: a link to your homepage, a one-time payment address, a WiFi password you don't rotate.
What is a dynamic QR code?
A dynamic QR code encodes a short redirect URL that you own - for example qrmkr.io/r/abc123. When scanned, that URL redirects to your real destination. Because the redirect lives on a server, you can change where it points at any time - even after the code is printed.
- Pros: edit the destination anytime, track every scan, A/B test, retarget.
- Cons: depends on the redirect service staying online (which is exactly why it's a subscription - your codes stay alive as long as you're a customer).
Which should you use?
Use a static code when the destination will truly never change and you don't need scan data. Use a dynamic code for anything printed at scale, anything tied to a campaign, or anything where you want to know how many people scanned.
Rule of thumb: if you're printing it, make it dynamic. Reprinting is expensive; editing a link is free.
A decision framework: four questions
The rule of thumb is right most of the time, but it collapses a few genuinely different situations. Answer these in order and stop at the first yes.
- Could the destination ever move? A menu URL, a campaign landing page, a booking system you might switch, a social handle you might rebrand. If yes, dynamic. This one question settles most cases, because the honest answer is usually that you do not know.
- Do you need to know whether it worked? If you are choosing between two placements, or justifying the print spend to somebody, you need scan counts. Static codes report nothing, and there is no way to add tracking afterwards.
- Will it outlive an account? A code etched into a machine, moulded into a product, or printed in a book that sits on shelves for a decade should be static. Dynamic codes depend on a redirect that depends on an account being live. For anything that must work in twenty years with no one maintaining it, encode the destination directly.
- Does it have to work offline? WiFi credentials, a contact card, a plain phone number. These encode the data itself, and a redirect would break them. Always static.
Two rules of thumb fall out of that. If it is printed and points at a web page, dynamic - reprinting costs more than a subscription. If it is printed and points at data rather than a page, or has to survive you, static. And you are not locked in either way: you can print a dynamic QR code today and point it wherever you like later, which is the whole reason the distinction matters before the print run rather than after.
Why dynamic codes use a temporary redirect
Good dynamic QR services use a temporary redirect (HTTP 302/307), not a permanent one (301). A permanent redirect gets cached by browsers and would prevent you from ever changing the destination - defeating the entire purpose. QRmkr uses temporary redirects so your codes stay editable for life.
Before you print it
If the code in your next print run may ever need to point somewhere else, create it as a dynamic QR code you can edit after printing. The printed pattern never changes; only the destination behind it does. It also means you can track every scan by day, device, and location and see which placement actually worked.
Make a QR code you can edit anytime
Free static codes. Dynamic codes with analytics on Pro.
Start free