Static vs dynamic QR codes: what's the difference?

Updated 5 October 2026

A static code holds your link. A dynamic code holds someone else's short link, which forwards to yours. That one difference decides whether you can edit the code, and whether it can be switched off.

Static QR codes

A static code stores your content directly in the pattern of squares: a web address, some text, Wi-Fi details or a contact card. When a phone scans it, the phone reads the content and acts on it. No server is involved.

  • Never expires. There's no account or subscription behind it, so there's nothing to lapse.
  • Private. Nobody counts or records the scans.
  • Can't be edited. If the link changes, you need a new code.
  • Works offline for Wi-Fi, text and contact cards, because there's no link to follow.

Dynamic QR codes

A dynamic code stores a short link, such as go.keepqr.co.uk/abc1234. When it's scanned, the company that owns the short link looks up your destination and forwards the phone there. Change the destination and the same printed code goes somewhere new.

  • Editable. Change where it points without reprinting.
  • Scan counts. You can see how often it's used.
  • Depends on the company. If they stop forwarding, the code stops working.
  • Usually sold by subscription. Many generators switch dynamic codes off when a trial ends or a plan lapses.

Side-by-side comparison

Static and dynamic QR codes compared
FeatureStaticDynamic (typical)KeepQR editable
What the code containsYour link or contentThe company's short linkOur short link
Change the link after printingNoYesYes
Can be switched off by the providerNoYes, often when payments stopOnly for abuse
CostFreeUsually a monthly or yearly subscription£4.99 once
Scan countsNoYesYes, daily totals
Works if the provider closesYesNo12 months' notice and full export
Wi-Fi, text, contact cardsYesVariesWeb links only (use static for these)

Which one do you need?

Choose a static code if

  • the link will stay the same: your home page, a review page, a booking page
  • it's for Wi-Fi, a contact card or plain text
  • it must last for years, like an engraved plaque or a memorial
  • you don't need scan counts

Choose a dynamic code if

  • the link might change: a seasonal restaurant menu, an event page, a campaign
  • you want to reuse the same printed sign for different things
  • you want to know how often it's scanned

A useful middle path: point a static code at a page on your own website, and update that page whenever you need to. You get a code that can't be switched off and content you can change, for free.

Before you buy a dynamic code anywhere

Ask the provider three questions, and get the answers in writing:

  1. What happens to my codes when the trial ends?
  2. What happens to my codes if I stop paying or cancel?
  3. Is there a limit on scans, and what happens when I reach it?

If the answer to any of these is "the code stops working", treat the code as rented, not owned. Our comparison of the big generators links to each company's own answers.

At KeepQR, the answers are: there's no trial to end, there's nothing to stop paying, and there's no scan limit. See how KeepQR works and our promise.

Common questions

Is a static QR code really free forever?

Yes. Once you've downloaded it, the code is just an image containing your link. Nobody needs to keep a server running for it to work.

Can I change a static QR code after printing?

No. The link is part of the pattern, so a new link means a new code. You can, however, change what's on the page the link points to.

Can I turn a static code into a dynamic one?

No. They contain different things. You'd need to make a new dynamic code and print it.

Do dynamic codes scan more slowly?

There's one extra step, the short link forwarding to your page. With a well-run service that takes a fraction of a second and nobody notices.

Are dynamic codes easier to scan?

Often, yes. A short link makes a simpler pattern than a long web address, so the code can be smaller or have bigger squares. For short links, the difference is small.