QRZen

Static vs dynamic

Static vs dynamic QR codes

Same shape on the page, very different behavior in the world. Here is what actually changes — and how to pick before you commit to a print run.

Generated in your browser. We never see your data.

At a glance

 StaticDynamic
Editable after printingNoYes
Scan analyticsNoYes
Works without any providerYes — foreverNo — needs the redirect online
CostFreePro subscription
Right for permanent installationsYesNo
Right for marketing & menusRiskyYes

How they actually differ

A static QR code is exactly what it looks like — a picture of a URL. The destination is encoded into the pattern of the squares. Nothing on a server is involved when someone scans it; the scanner reads the URL and the phone opens it. That is why static codes never expire and never depend on a provider staying in business: there is no provider in the loop.

A dynamic QR code is a picture of a short URL — for example, something like qrz.in/abc123 — owned by the provider that issued the code. When someone scans it, their phone goes to the short URL, our server looks up the current destination for that code, and redirects them there. The destination is just a database row, and editing it is a single action.

How to choose

Two questions decide it. First: could the destination URL plausibly change in the lifetime of the printed surface? Menus, marketing landing pages, portfolio sites, event registrations, even your LinkedIn URL all change more than you expect. If yes, dynamic. Second: does the printed surface need to keep working even if the provider disappears? Gravestones, public monuments, museum plaques, certifications, tattoos. If yes, static.

Most real-world cases fall on the dynamic side. The exceptions are permanent installations and one-off personal projects where the link is already permanent (Wi-Fi network details, a vCard, a single specific article URL you trust will never move).

Migrating from static to dynamic

You cannot retrofit a printed static code into a dynamic one — the URL baked into the image is permanent. What you can do is replace the static URL's destination with a redirect of your own on your own domain, and then treat that as a poor-man's dynamic code. It works, but you are doing the provider's job. For most people the easier path is to print a real dynamic code from the start and never have to think about it again. See dynamic QR codes for the full pitch.

Keep exploring

Frequently asked questions