Static vs dynamic QR codes: what you give up and what you pay
Dynamic QR codes can be edited and counted, and static ones cannot. The price of that is a subscription, a dependency on one company and a record of every scan. This guide lays out both sides, including the parts that favour dynamic codes, so you can choose.By QRCraftly · Published · 5 min read
A static code holds your content itself. A dynamic code holds a short address on a provider’s server, which forwards every scan to your page. That one difference produces every other difference between them.
- Choose static when the destination will not change, when the code must outlive any company, or when the content is not a web address at all, such as Wi-Fi details or a contact card.
- Choose dynamic when you need to change the destination after printing, or need scan counts from the code itself, and you accept that you rent it.
- In between, you can get most of the editing without the rental: put a static code on an address you own, and change where that address leads.
Scanning a static code: the phone reads the pattern, decodes your address and opens it. Nothing else is involved.
Scanning a dynamic code: the phone reads the pattern, decodes the provider’s short address and opens it. The provider’s server looks up where that code currently points, notes the scan, and sends the phone on to your page. The pattern never changes, but what sits behind it can.
The provider’s server is the whole point of a dynamic code, and it is also the single point of failure. If it is down, switched off or closed, the code leads nowhere.
| Feature | Static | Dynamic |
|---|---|---|
| What the code holds | Your content itself | A short address on the provider’s server |
| Change the destination after printing | No. Print a new code | Yes, from the provider’s dashboard |
| Scan counts from the code | None | Yes, as the provider records them |
| Cost | Free to make with no strings | Usually a subscription or a trial that ends |
| If the provider closes or you stop paying | Nothing happens | The code stops working |
| Works for Wi-Fi, contact cards, plain text | Yes | No, because it can only redirect to a web address |
| Pattern density | Denser if the address is long | Sparser, because the short address is short |
| Who sees each scan | Only the page you point to | The provider as well |
| Typical failure | The destination page moves | The subscription lapses |
They are not a trick, and for some jobs they are the right tool.
- Editing after printing. A campaign poster that runs for a year can point at this month’s offer, and a mistake in the destination is a setting, not a reprint.
- Scan counts without touching the destination. If you cannot add analytics to the page behind the code, the provider’s count is the only count you will get.
- A simpler pattern. The short address is short, so the code has fewer, larger squares. That helps for small or low-quality print.
- Several destinations from one code, or rules by device, time or place, where the provider offers them.
- A running fee. The code is yours to print but not yours to keep working. If you stop paying, or a trial ends, the provider can deactivate it, and every printed copy goes dead with it.
- Lock-in. The code holds the provider’s address, so you cannot move it to another provider. The only way out is to print new codes.
- A third party in every scan. For the counts to exist, each scan has to pass through the provider’s server, which sees at least the time, the device and the network address. Read their privacy terms before you use one for anything sensitive.
- A trust cost for your visitors. People are told to check where a code leads before they open it, and the U.S. Federal Trade Commission has warned about links hidden in QR codes. A short address on a service’s domain hides the real destination until after the scan, while an address on your own domain is easier to trust.
- Their reliability becomes yours. An outage, a policy change or a closure at the provider is an outage for your printed material.
You do not need a QR service to be able to change a destination. Make a static code that points at a short address on a domain you own, such as example.com/menu, and set that address to redirect to the real page. To change the destination, change the redirect. Most web hosts and static site platforms support redirect rules, and the code keeps working for as long as you keep the domain.
The same idea gives you counts without a vendor in the middle:
- Add a campaign tag to the destination address, then read the visits in the analytics you already run on that page.
- Use a different short address for each placement, such as example.com/poster and example.com/flyer, to tell placements apart.
- Count requests to the redirect itself in your host’s logs, if it keeps them.
It takes a little more setup than a dashboard, and the data stays with you.
| If your code is for… | Use |
|---|---|
| A Wi-Fi network, contact card, plain text or other non-web content | Static (dynamic is not possible) |
| A menu, flyer or business card that will be reprinted when it changes | Static |
| Packaging, signage or a manual that has to last for years | Static, pointing at an address you own |
| A campaign where the destination changes and you cannot add analytics to the page | Dynamic, on your own domain if the provider allows it |
| A campaign where you can change the destination yourself | Static on your own redirect |
QRCraftly makes static codes only. There are no accounts, no servers that store your codes and no redirects, so a code you make here keeps working as long as the address inside it does, whether or not this site is still around. That is a deliberate decision, and it has a cost: we cannot give you scan counts or editable destinations. If you need those, use the middle path above or a dynamic provider whose terms you have read.
Wondering why a code you already have stopped working? Why your QR code stopped working helps you tell a switched-off dynamic code from a dead page and a hard-to-read print. To make a static code, start here.
- Denso Wave (the inventor of QR Code), “Types of QR Code” and “QR Code capacity”, qrcode.comA longer encoded address needs a larger version, with more and smaller modules.
- Denso Wave, “Standardization”, qrcode.comQR Code is specified by ISO/IEC 18004; a code holds data, and what a reader does with it is up to the reader.
- U.S. Federal Trade Commission, “Scammers hide harmful links in QR codes to steal your information”, consumer.ftc.gov (December 2023)A QR code can lead anywhere, which is why a third-party address in the middle deserves scrutiny.