Dynamic QR codes: change where a printed code points

A dynamic code is one you can repoint after it is printed. That is the whole difference, and it is the only one that matters once the ink is dry.

A dynamic QR code encodes a short redirect URL instead of your destination. The phone that scans it asks that redirect where to go, and you decide the answer, which means you can change the destination after the code is printed without touching the print. A static code encodes the destination directly into the pattern, so the image is the link and the link is permanent.

If you have seen this called an "editable" QR code, that is the same thing described by what it does for you. Dynamic is the technical word; editable after printing is the reason to want one.

The decision is worth getting right once, because it is made before the print run and cannot be revisited afterwards. Everything else about a QR code can be fixed later. This cannot.

What the redirect buys you

Three things follow from the redirect, and they are the entire case for a dynamic code.

You can repoint it. A menu goes seasonal, a listing sells, a campaign URL is retired, a PDF moves to a new host. With a dynamic code you edit the destination and every code already printed starts resolving to the new place. With a static code the only fix is a reprint, and the cost of that scales with how well the first print run went.

You can count scans. The redirect is a request to a server, so it can be recorded. A static code sends the phone straight to your destination with nothing in between, which is why no provider can offer analytics on one. What that data can and cannot tell you is its own subject, covered in QR code tracking and scan analytics.

The printed code is easier to scan. This one is rarely mentioned and it is the most concrete. A QR code's pattern grows with the length of what it encodes, so a short redirect produces a sparser code with physically larger squares than a long destination URL does at the same printed size. Larger squares are what a phone camera resolves from further away and in worse light. The table below is computed from the library this site renders with, not estimated.

The catch, stated plainly

A dynamic code depends on the redirect continuing to answer, and that is a real dependency rather than a footnote. Two versions of it are worth separating, because only one of them gets discussed.

The version everybody mentions is billing. Some providers stop resolving dynamic codes when a trial ends or a subscription lapses, which turns a printed sign into a dead end and makes the reprint you were avoiding compulsory. Ask what happens when you stop paying, before you print. Ours keep resolving on the free plan, indefinitely, because the redirect is the product rather than the upsell.

The version almost nobody mentions is the provider itself going away. If the company behind your redirect shuts down, every code it issued stops working at once, and no amount of paying on time protects you. There is no way to make that risk zero, but you can bound it: prefer a code whose short domain and destination you can read plainly, keep your own list of which code points where, and treat a provider that will not tell you what happens to printed codes on shutdown as having answered the question. Nothing on this page changes that trade. It is the honest price of being able to repoint at all.

When a static code is genuinely the better call: a one-off you will never reprint and never need to measure, or a payload that is not a URL at all, like a WiFi join string or a contact card, where there is nothing to repoint. Our free generator makes static codes for exactly those cases.

Why a shorter link prints a more scannable code

Encoded link Chars Version Squares Square at 1 in
Short redirect 21 3 29 0.0270 in
Bare domain 19 3 29 0.0270 in
Page on your site 47 6 41 0.0204 in
Deep path to a PDF 93 9 53 0.0164 in
That PDF plus UTM 161 13 69 0.0130 in

Source: Computed with the rqrcode library this site renders with, at our default error-correction level H. Square width includes the four-square quiet zone the QR specification requires on each side, so the bottom row needs 2.08 inches of print to match the top row's squares at 1 inch

Static and dynamic, side by side

Static code Dynamic code
Change it later No, reprint is the only fix Yes, the print stays as it is
Count scans No, nothing sits in the path Yes, the redirect records each one
Needs no service Yes, works forever unaided No, the redirect has to answer
Squares at one size Smaller, the full URL is encoded Larger, a short redirect is encoded
Good for One-offs, WiFi and contact cards Anything printed on a surface

Source: Both kinds are generated by this site: dynamic codes by the builder above, static codes by the free generator

What happens to a printed dynamic code if you stop paying, verified 17 August 2026

Provider Free plan If billing lapses
TangoQR Unlimited codes, all dynamic and editable Codes keep resolving. Editing locks past 50 scans
Bitly 2 QR codes a month, no scan analytics Check their current terms before printing

Source: Bitly figures from its own pricing page and Free Plan post, both checked 17 August 2026. We deliberately do not restate their full pricing here, which goes stale; read it from them

Prove it repoints, in about two minutes

You do not have to take any of this on faith, and you should not. Run the drill against the builder on this page before you commit a print run to anybody's dynamic codes, including ours.

  1. Make a code above, pointed at any URL you like. Download the PNG.
  2. Scan it with your phone. Note where it lands, and note the short URL that flashes up on the way through.
  3. Change the destination to a different URL from your dashboard.
  4. Scan the same downloaded image again. It lands somewhere new. Compare the file against the one you downloaded in step one: byte for byte, the image never changed.

That last step is the one that matters, and it is the step a static generator cannot survive. If you run this against a provider and the second scan goes to the old destination, what you have is a static code with a dashboard in front of it.

Common questions

What is a dynamic QR code, in one sentence?

A QR code that encodes a redirect you control rather than your destination, so you can change where it goes after it has been printed, and each scan passes through a server that can count it.

Is a dynamic QR code the same as an editable QR code?

Yes. "Dynamic" describes the mechanism, a redirect in the middle; "editable" describes what that buys you. Some providers also say "trackable", which is the same mechanism described by its other consequence. All three words point at one thing.

Can I convert a static QR code into a dynamic one?

No. The destination is encoded in the printed pattern, so changing where it points means changing the pattern, which means a new code and a reprint. If you are not sure which kind you already have, the analytics checker decodes an image and tells you whether it routes through a redirect.

Do dynamic QR codes expire?

The pattern never expires; it is just encoded data. What can stop working is the redirect behind it, and that is a property of the provider rather than of the technology. Ask what happens when you stop paying before you print, because on some services a lapsed subscription takes printed codes dark. More on this here.

Are dynamic QR codes slower to scan?

There is one extra HTTP redirect, which is measured in milliseconds and is invisible next to the time the destination page itself takes to load. In practice the dynamic code is often the faster of the two to scan, because it encodes far less data and so prints with larger squares, as the first table shows.

Does a dynamic QR code cost money?

Not here. Every code this site makes through the builder is dynamic and editable on the free plan, because the redirect is the product rather than a paid tier. Most "free QR code" tools generate static codes and charge to make them changeable, which is worth checking before you print.

Sources

Keep reading

Print once. Repoint forever.

Every TangoQR code is a dynamic redirect you control, editable on the free plan rather than behind an upgrade. No account needed for your first code.

Make a dynamic code, free

← All solutions