Most QR generators ask you to choose "static" or "dynamic," often without explaining what that means, and sometimes the "dynamic" option comes with a monthly fee. The difference matters once your code is printed on a thousand flyers, so it's worth getting right the first time.
Static QR codes: the data is in the picture
A static QR code stores its content directly in the pattern. If you encode https://example.com/menu, that address is literally drawn into the black and white modules.
What that means:
- It never expires. Nothing online has to stay running for it to work. The code would still work even if the generator shut down tomorrow.
- It can't be changed. If the link changes, you need a new code and a reprint.
- It isn't tracked. The phone reads the data and goes straight to the destination, so no one in between counts scans.
- Long content makes dense codes. Long URLs or a full contact card mean more modules, which need a bigger print to scan reliably.
Static codes are the only option for some content. WiFi codes and vCards store the network details or contact info right in the image so phones can use them offline.
Dynamic QR codes: the picture holds a short redirect
A dynamic code stores a short link that belongs to the QR service. When someone scans it, the service forwards them to whatever destination you've set. You can change that destination at any time, and the printed code follows.
What that means:
- You can edit after printing. You can fix a typo, swap last month's promo for this month's, or move your menu to a new host without reprinting anything.
- The pattern is simpler. The stored link is short, so the code has fewer modules and scans better at small sizes.
- It depends on the service. If the service disappears or deletes your code, the redirect breaks. This is the real tradeoff.
- Scans can be counted. The redirect lets the service log basic scan details, which helps you see whether a poster is working.
A free option
Many generators charge a monthly fee for dynamic codes. qrfyy (https://qrfyy.com) has no paid plan. Static codes are unlimited, and dynamic codes are free for up to 20 per owner key, with no monthly scan cap. You save an owner key when you create a dynamic code, and that key lets you edit the destination later, even from another phone.
It's also open about what dynamic scans record: time, device category, browser, operating system, and the referring page when the browser sends one. Full IP addresses aren't stored, and scan details are kept for 90 days. Static codes aren't tracked at all.
When to use each
Choose static when:
- The destination will never change (your main website, a permanent profile)
- It's a WiFi login or a contact card
- The code needs to last for years, like engraved signs, product packaging, or books
- You don't want any scan tracking
Choose dynamic when:
- The destination may change (menus, promos, event pages, seasonal campaigns)
- You're printing a lot and can't afford to reprint
- You want to know roughly how many people scan
- You need a small, simple code for a tight space
Common mistakes
- Using a paid dynamic code from a trial plan. Some services disable your code when the trial ends, and your printed materials stop working. Read the terms before printing.
- Losing access to edit. With any dynamic service, keep your login or owner key somewhere safe. If you lose it, you can't change the destination.
- Using dynamic for something permanent. If it never needs to change, static is safer because it doesn't depend on anyone.
- Not testing. Scan the final printed code with two different phones, whichever type you choose.
The short version
Static is permanent and private but can't be edited. Dynamic can be edited and can count scans, but it depends on the service staying online. Use static for things that never change and dynamic for things that might.
Top comments (0)