Static vs dynamic QR codes: which do you need?

Guides · Updated June 2026 · 6 min read

A static QR code stores the destination directly in its pattern — it never expires and needs no subscription, but it can’t be edited after printing. A dynamic QR code stores a short redirect URL instead, so you can change the destination and track scans, but it depends on a paid service staying live. For most jobs, static is the safer choice.

The two types look identical and scan the same way. The difference is entirely in what gets encoded into the squares — and that one difference decides cost, permanence and whether you can edit the code later.

What a static QR code actually contains

A static code holds your real destination. Encode https://your-site.com and those exact characters are painted into the grid. When someone scans it, their phone reads the address straight from the pattern and opens it. Nothing is looked up, no server is contacted before the destination loads, and there is no account behind it.

This is what our generator produces, and it has three consequences that matter: the code never expires, it works offline up to the point of opening the link, and it is completely free because there is no service to run. The trade-off is that the destination is fixed. Change your mind after printing and you reprint.

What a dynamic QR code actually contains

A dynamic code holds a short redirect URL owned by a QR platform — something like scn.io/a8Kp. When scanned, the phone visits that short link, the platform looks up where it should point today, and forwards the visitor on. Because the real destination lives in a database rather than in the print, two things become possible: you can edit the destination without reprinting, and the platform can log every scan — time, rough location, device.

That flexibility is real, and for some campaigns it’s worth paying for. But it introduces a dependency. The code only works while the platform keeps the redirect alive, which means while someone keeps paying. Stop the subscription and the printed code points at a dead link. Our guide on why QR codes expire covers how this catches people out.

Side by side

StaticDynamic
Editable after printingNoYes
Scan analyticsNo (unless your destination tracks)Yes, built in
ExpiresNeverWhen the subscription lapses
Ongoing costFreeTypically £40–£120 / year
Depends on a third partyNoYes
Code densityGrows with your dataAlways small (short URL)

When dynamic is genuinely worth it

Pay for dynamic codes when the editing or tracking earns its keep:

  • A printed campaign whose destination will change — a seasonal menu, a rotating promotion, an event page that becomes a recording afterwards.
  • Performance marketing where scan counts by location or time directly inform spend.
  • Packaging with a long production lead time, where you can’t finalise the landing page before the print run.

The middle path: a static code you can still redirect

There is a way to get much of the flexibility of dynamic without the dependency. Point a static code at a URL you controlyour-site.com/menu rather than a third-party PDF or a platform’s short link. The code is permanent and free, but because you own that page, you can change what it shows whenever you like. You lose the built-in scan analytics (though your own site’s analytics will see the traffic), and you can’t repoint the URL itself, but for small businesses this covers most “but what if it changes?” worries without a subscription.

How to tell which you’ve been given

Scan any code and watch the address that flashes up before the page loads. Your own domain means static. An unfamiliar short domain that then bounces onward means dynamic — and that one lives only as long as someone pays for it. If you generated it on a “free” site and were later asked to subscribe, it was almost certainly dynamic.

Create a free static QR code that never expires — no account, no subscription, no catch.

Generate a QR code

Frequently asked questions

Static. Every code is generated in your browser with the destination encoded directly into the image. There is no redirect, no account, and nothing that can expire.

Not the printed code itself — the data is fixed. But you can point a static code at a URL you own and change that page's content, which achieves a similar result without a subscription.

No. Both decode instantly. A dynamic code adds one redirect hop after scanning, which is usually unnoticeable but does require the platform to be online.

Not inherently. The redirect can actually be a weakness — if the platform is compromised or lapses, the destination changes out from under you. A static code always points where you put it.

They encode a short redirect URL, so the grid stays sparse. A static code grows denser as your encoded data gets longer, which is why a long URL or vCard produces a busier pattern.

Related