QR Generator

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

You're about to print a few thousand flyers when someone asks what happens if the link changes. That question is the real difference between static and dynamic QR codes. Both scan the same way. The difference is where your content actually lives, and who controls it.

Create your QR code

Static codes: the content is the pattern

A static code stores your content directly in its squares. The link, the text, the WiFi password or the contact details are right there in the pattern. When someone scans it, their phone reads the content and acts on it. Nothing sits in between.

  • Free, with no account or subscription.
  • Never expire, because there's nothing to switch off.
  • Work without the internet for content like a WiFi network, a contact card or plain text.
  • Private: no third party sees who scans or when.
  • Can't be edited after printing, and scans can't be counted from the code itself.

Dynamic codes: the pattern holds a redirect

A dynamic code stores a short link that belongs to the service that made it. When someone scans, their phone visits that short link, and the service forwards them to whatever destination you've set in your account.

Because the service sits in the middle, two things become possible. You can change the destination at any time without reprinting, and the service can count scans, often broken down by day, rough location and device.

The catch with dynamic codes

Dynamic codes usually come with a paid subscription, and the printed code depends on that subscription staying active. If it lapses, the short link typically stops forwarding to your page. If the company changes its terms, raises prices or shuts down, every code you've printed with it breaks at the same moment. You also rely on its servers being up, and it sees every scan.

That's a fair trade for some people. A large campaign that needs detailed scan counts, run by a team that will keep paying, can get real value from it. The trouble starts when someone signs up for a trial, prints the code on packaging, and forgets about the plan.

Editability for free: point at a page you control

There's a simple middle path. Make a static code that points at a page on your own website, like your site's menu or events page. When something changes, update the page. The code never changes, never expires and costs nothing.

You can see visits too. Your website analytics already counts traffic to that page, and adding a campaign tag to the link in the code separates scans from other visits. Just keep the page address stable and the domain renewed, which the expiry guide covers in more detail.

Give the code its own page, even a simple one. Moving a dedicated page later is easy. Untangling a code that points at your homepage is not.

Which one should you use?

Use static for WiFi, contact cards, business cards, packaging that will sit on shelves for years, and any link to a page you own. Consider dynamic only if you need to change destinations and truly can't host a page, or you need scan reporting beyond what your site analytics give you, and you accept the ongoing cost.

Our generator makes static codes only, so there's no account, no subscription and nothing to lapse. If you have a website, set up the page first, then make a website QR code that points at it.

Frequently asked questions

Do static QR codes expire?

No. The content is stored in the pattern itself, so a static code works for as long as the print survives and the destination still exists.

Can I edit a static QR code?

Not the code. But if it points at a page you control, you can change the page whenever you like and the printed code keeps working.

Can I track scans on a static QR code?

The code itself can't count scans. If it links to your own site, your analytics can see those visits, and a campaign tag on the link separates them from other traffic.

What happens when a dynamic QR code subscription ends?

The short link inside the code usually stops sending people to your page. The printed code still scans, but it no longer leads where you want.