Dynamic vs static QR codes: which one do you actually need
A plain guide to dynamic vs static QR codes so you know which to use before you print. Decide by whether the destination will ever change.
Dynamic vs static QR codes: which one do you actually need
The short answer: use a static QR code when the destination will never change and you want it free and offline forever, and use a dynamic QR code when you might edit where it points after printing or you want to see scan data. That single question, "will this link ever change?", decides it for almost everyone. The rest of this post shows you exactly which situations fall on each side, so you can print with confidence and not reprint later.
The one difference that matters
A static QR code has the destination baked directly into the black-and-white pattern. Scan it and the phone reads the URL straight off the image. Nothing sits in the middle, which is why it works offline and never expires, but it also means the destination is locked the moment you print it. Change your mind and you print a new code.
A dynamic QR code encodes a short link you control, like scanburst.com/q/abcd12, and that link forwards to wherever you point it. The pattern on the poster stays the same forever, but the destination behind it is yours to edit anytime. That short hop through the link is also what lets us count scans. The tradeoff is that the link has to resolve, so the phone needs to be online at scan time, which for a link-based QR it already is.
If you want the deeper mechanics, we cover them in what is a dynamic QR code. For picking a type right now, the difference above is all you need.
Static vs dynamic at a glance
| Static QR | Dynamic QR | |
|---|---|---|
| Destination after printing | Locked, reprint to change | Edit anytime, same code |
| Cost | Free | Pro plan and up |
| Works offline | Yes, forever | Needs the link to resolve |
| Scan analytics | None | Scans over time, country and city, device |
| Expires | Never | Only if you set it to |
| Extra controls | Colors, logo, custom eyes | Routing, A/B test, password, folders |
| Best for | Fixed, permanent links | Anything that might change or that you want to measure |
When a static code is the right call
Reach for static when the link is genuinely permanent and you do not need numbers.
- A WiFi sticker on the wall. The network name and password rarely change, and a WiFi QR often has to work when the internet is down, which is exactly when a static code shines. See QR code for WiFi for the format.
- A permanent link on packaging. If your product box points to a stable page like a care-instructions PDF that will not move, static is fine and free.
- A one-off flyer for a fixed date. An event on a set day that links to a single ticket page can be static, since there is nothing to change after the event.
- A vCard or plain text. Contact details or a short message that lives entirely inside the code, with no server involved.
The upside is real: no subscription, no dependency on any service staying online, and the code keeps working for years. Our free QR code generator makes these with colors, gradients, a logo, and custom corners and eyes, then exports PNG or SVG. Static codes are free, so design as many as you like.
When you need a dynamic code
Reach for dynamic the moment either of these is true: the destination might change, or you want to know how the code performs.
- A cafe menu on the table. Prices shift, dishes sell out, seasons change. With a dynamic code you update the menu link and every table tent, every laminated card, keeps pointing to the current one. No reprint. This is the classic case, and it is why we wrote QR code for a restaurant menu.
- Product packaging with a long print run. You order 50,000 boxes today. If the landing page moves next quarter, a static code sends buyers to a dead page. A dynamic code lets you repoint it in seconds.
- An event sign or campaign poster. Before the event it can point to registration, during it to a live schedule, after it to a highlights reel or next-year signup. One printed sign, three destinations over time.
- A code on your storefront or business card. If you want to grow a following, a QR code for Instagram is better dynamic, so you can swap it to whatever channel matters this month and see how many people actually scanned.
Because a dynamic code routes through a link you own, it unlocks things a static code physically cannot:
- Edit the destination live after printing, with no new code.
- See scan analytics: counts over time, country and city from the network (never GPS), and device type like iPhone or Android. It is bot-filtered, and we never store a raw IP, only a one-way hash.
- Route by device, so iPhone users go to the App Store and Android users go to Google Play from the same code, which is ideal for an app download QR.
- A/B split test two destinations to see which converts.
- Schedule or expire a code so it turns on or off on a date.
- Password protect a link, and organize codes into folders with bulk CSV import and export when you manage a lot of them.
A simple way to decide
Walk through these in order and stop at the first yes.
- Might the destination ever change after you print? If yes, go dynamic.
- Do you want to know how many people scanned, or from where, or on which device? If yes, go dynamic.
- Does the code need to work with no internet at all, like an offline WiFi login? If yes, go static.
- Is it a permanent link you will never touch and you do not care about numbers? Static is perfect, and free.
Most fixed, personal, or offline uses land on static. Most business, marketing, and print-run uses land on dynamic, because the ability to fix a link without a reprint pays for itself the first time a URL changes.
Can you switch later?
Not on the same printed code. A static code cannot be upgraded into a dynamic one after the fact, because the destination is part of the pattern itself. That is the real reason to choose deliberately up front. If there is any chance the link will move, or you would regret not having scan data, start dynamic. If it is truly fixed, enjoy the free, permanent static code.
One good habit: even for something that feels permanent, ask whether Future You would want to edit it. Packaging, menus, and campaign links almost always change eventually. A logo on a business card or a WiFi sticker usually does not.
Make your code
If your link is fixed and offline-friendly, design a free static code now at the Scanburst generator, add your colors and a logo, and download it as PNG or SVG. If the destination might change, or you want to track scans and route by device, make it a dynamic code on Pro instead, from $9 a month billed yearly, so you can edit and measure it long after it is printed. Either way, you now know exactly which one you need.
Make a QR code you can change
Design one free in seconds, then make it dynamic to edit the destination and track every scan.