Static vs Dynamic QR Codes: What's the Difference?
By ScanHatch · Published · 3 min read
Many QR code services advertise “dynamic” codes that you can edit after printing and that count scans, often after a free trial. The difference from a static code is simple once you see what's inside each one, and that also shows the trade-offs.
Static QR codes
A static QR code contains the final content directly: the web address, WiFi details or contact card. Scanning it takes the phone straight there. No other service is involved.
- It works for as long as the content does: indefinitely for WiFi or contact codes, and as long as the web page exists for links.
- It can't be changed after printing, because the content is the pattern.
- It doesn't count scans, because no one sees the scan except the phone and the destination website.
ScanHatch makes static QR codes only. They don't expire, and they don't depend on ScanHatch staying in business.
Dynamic QR codes
A “dynamic” QR code is a static QR code containing a short link to the service provider's own server, such as https://qr-provider.example/Ab3xY. When scanned, the provider records the scan and redirects the phone to whatever destination you've set in your account.
Changing the destination later changes the redirect, not the printed code, which is why it appears editable. The scan counts are the provider's redirect logs.
Side by side
| Static | Dynamic (via a provider) | |
|---|---|---|
| What's inside | The final content | A short link to the provider |
| Edit after printing | No | Yes, through the provider's account |
| Scan statistics | Not by itself (use your website analytics) | Yes, from the provider |
| Works if the provider closes or you stop paying | Yes | No. The redirect stops working |
| Extra step when scanned | None | A redirect through a third-party server |
| Privacy | Only the destination sees the visit | The provider also records each scan |
| WiFi, contacts, phone numbers | Work offline | Usually converted to a web page first |
The main risk of dynamic codes
Printed codes last years, and a dynamic code works only as long as the provider keeps redirecting it. Some services disable codes when a free trial ends or a subscription lapses, which leaves menus, packaging and signage pointing at an error page or an advert. Before relying on dynamic codes for anything printed in quantity, check the terms for what happens to existing codes if you cancel.
The middle way: a static code with your own link
You can get most of the benefits of dynamic codes without depending on a provider:
- Pick an address on your own domain, such as
https://example.com/menu. - Make a static QR code for it with the URL QR code generator.
- When the destination changes, update that page or set up a redirect on your website. The printed code keeps working.
- To count scans, add campaign parameters such as
?utm_source=table-cardto the link. Your website analytics will then report visits from the code.
The one thing this doesn't give you is editing non-web content: a WiFi or contact code always needs reprinting if the details change.
Which should you use?
- WiFi, contact cards, phone numbers and anything permanent: static.
- Links on print that will stay in circulation: static, pointing to a page on your own domain.
- Short campaigns where you want the provider's dashboard and accept the dependency: dynamic may be convenient, but read the cancellation terms.
Frequently asked questions
Do static QR codes expire?
No. The content is in the code itself. A link code stops being useful only if the web page it points to is removed.
Can I track scans of a static QR code?
Not directly, but adding campaign parameters to a link lets your website analytics count visits from the code.
Does ScanHatch offer dynamic QR codes?
No. ScanHatch creates static codes only, so your codes don't depend on a ScanHatch account or server.