Every QR code you make is one of two kinds: static or dynamic. They look identical — the same black-and-white square — but under the hood they behave very differently, and picking the wrong one can mean reprinting everything you’ve already put out into the world.
Here’s the difference in one line: a static QR code has your destination baked directly into the pattern, while a dynamic QR code points at a short redirect link that you control — so you can change where it goes anytime, and count every scan along the way.
Static QR codes
A static code encodes your data — a URL, some text, a Wi-Fi password — straight into the pixels. Nothing sits between the scanner and the destination.
- Pros: free to generate anywhere, work forever, no account needed.
- Cons: the destination is permanent. Change your link and every printed code is dead. And because there’s no server in the middle, you get zero analytics — no idea how many people scanned, from where, or when.
Static codes are fine for something that will genuinely never change: a Wi-Fi password on a fridge, a link in a one-off email.
Dynamic QR codes
A dynamic code encodes a short, fixed redirect link (like yourdomain.com/q/abc).
That link never changes, so the printed code never changes — but you can repoint it
to a new destination whenever you like, from a dashboard, without touching whatever
it’s printed on.
- Pros: edit the destination anytime, track every scan (totals, unique visitors, location, device, time), add rules like expiry dates or a password.
- Cons: you need an account with a QR platform to host the redirect.
Because the redirect is live, dynamic codes are the only kind that can give you analytics — which is usually the whole point of putting a code out there in the first place.
Which one should you use?
Reach for a dynamic code any time you’ll want to:
- change the destination later (a restaurant menu, a wedding page, a product insert);
- measure how a campaign performed;
- reuse one printed code across a campaign that evolves.
Reach for a static code only when the destination is truly fixed and you don’t care about analytics.
In practice, that means most real-world uses — anything printed, anything you’ll measure, anything tied to a business — wants a dynamic code.
The catch: “dynamic” often isn’t free
Here’s the gotcha. Many QR tools make static codes free but put dynamic codes and analytics behind a paid plan. It’s worth checking before you commit — we compare a few of the popular ones here: QRkode vs Bitly, vs QR TIGER, and vs Flowcode.
QRkode was built to make the useful kind — dynamic codes with real-time scan analytics — free to start, with no credit card. You can create your first one in a couple of minutes, print it once, and change where it points for as long as you need.
Make a dynamic QR code, free
Editable destination, real-time scan analytics, no credit card.