The Predatory QR Industry

The Case for Static, Open QR Codes

Static QR codes never expire, need no account and can't be switched off. Why 'boring' static codes are the safe choice.

A static QR code is quietly one of the most honest pieces of technology you can use: it works forever, works offline, tracks no one, costs nothing, and belongs entirely to you. This is the positive case for choosing static, open QR codes by default.

Most writing about the QR industry — including much of ours — is a warning about what can go wrong with dynamic codes. But the static code deserves better than to be defined by what it isn't. It's a genuinely excellent tool on its own terms. So let's make the affirmative argument: why "boring" static codes are the smart, calm, principled default, and the handful of cases where dynamic still makes sense. 🐾

What "static" actually means

A static QR code encodes your destination directly into its black-and-white pattern. If your link is example.com/menu, that address is literally represented in the squares. When someone scans it, their phone reads the link straight off the code — there's no server, no lookup, and no company in the middle. The code is the data. Our fuller comparison lives in static vs dynamic QR codes; here we focus on why static is worth choosing.

Reason 1: it works forever

Because the destination lives in the pattern, there's nothing that can expire. No trial to end, no subscription to lapse, no vendor to shut down. As long as the destination page itself exists, the code keeps scanning — next year, next decade, on paper that outlives the company that printed it. Compare that to the many ways a dynamic code can go dark, catalogued in why printed QR codes stop working.

Print a static code and you've made something permanent. Print a dynamic code and you've made something conditional.

Reason 2: it works offline

A static code doesn't need to reach any server to resolve. This matters more than it sounds: the code can be decoded even where the vendor's site would be unreachable, and there's no redirect hop that could slow things down or fail. Fewer moving parts means fewer things that can break between the scan and the destination.

Reason 3: it's private by design

No redirect means no server logging the scan. When someone scans your static code, they go straight to your page — no third party records when they scanned, where they roughly were, or what device they used. For the person scanning, that's respect. For you, it's a clean conscience and no awkward gap between "we value privacy" and a silent tracker in your signage. The tracking you avoid is spelled out in the redirect trap.

Reason 4: it's free — honestly free

A static code costs nothing to create and nothing to maintain, because there's no infrastructure behind it. That's not a promotional "free" with a catch; it's free the way a saved image is free. No account, no metering, no upsell, no expiry clock. You can create a free static QR code and simply own it.

Reason 5: it's yours

This is the one that ties the rest together. A static code isn't rented, licensed, or hosted on your behalf. Nobody can raise its price, throttle its scans, change where it points, or switch it off. There's no relationship you have to maintain and no leverage anyone holds over your printed materials. In a world of subscriptions and dependencies, a thing you fully own is rare — and a static QR code is exactly that.

The case in one table

PropertyStatic, open QR code
LifespanForever, as long as the destination exists
Needs a server to scanNo — works offline
Tracks the scannerNo
CostFree to make and to keep
Can be switched off by a vendorNo
OwnershipEntirely yours

"Open" matters too

The QR standard itself is open — ISO/IEC 18004 — and the patents were never enforced against ordinary use, which is why anyone can make a code for free with no permission. Choosing a static code made with open tools keeps you inside that spirit: a public standard, a plain file, no proprietary layer between you and a technology that was meant to be free for everyone. That openness is a big part of why QR codes became universal in the first place.

Being fair: when dynamic still makes sense

Static isn't the answer to literally everything, and we won't pretend otherwise. Dynamic codes are the right tool when:

  • The destination genuinely must change after printing — a rotating campaign, an A/B test, a page you know will move.
  • You truly need scan analytics that will drive real decisions, and the recurring cost is justified.
  • The materials are short-lived, so the dependency and reprint risk barely matter.

Even in these cases, there's a way to get the flexibility without surrendering ownership: make a static code that points to a short link on your own domain, and manage the redirect yourself. You keep editability and optional analytics, but no vendor can hold the code hostage. It's the best of both worlds, and it's the escape from vendor lock-in.

The default that respects everyone

For the vast majority of real uses — a menu, a business card, a sign, a product label, a link on a flyer — the destination won't change and analytics aren't essential. In those cases, static isn't a compromise; it's simply better. It's cheaper, more reliable, more private, and yours. That's why QR Puppy makes only static codes, and why our manifesto treats "forever, offline, private, free, yours" not as marketing but as the whole point.

If you're deciding what to print, start from static and only move to dynamic when you have a concrete reason. It's the calm default — and once you've felt what it's like to own your code outright, it's hard to go back. For a real-world walkthrough, see QR codes for restaurant menus, done right.

Frequently asked questions

Do static QR codes ever stop working?

Only if the destination page they point to is removed or moved. The code itself never expires and needs no server, so keep your destination URL alive and the code works indefinitely, offline, with no vendor involved.

Can I edit a static code after printing?

Not the code's destination directly — that's baked into the pattern. But you can point a static code at a short link on your own domain and change where that link forwards, giving you editability while still owning everything. Otherwise, static is for links that won't change.

Are static codes really free with no catch?

Yes. A static code is a plain image with no server behind it, so there's nothing to meter or bill. No account, no expiry, no scan limits — free the way a saved photo is free.

Is a static code less capable than a dynamic one?

It trades editability and built-in analytics for permanence, privacy, and ownership. For most uses — where the link is stable and analytics aren't essential — that's a great trade. When you genuinely need editing or tracking, self-hosting the redirect gives you both without lock-in.

Why does QR Puppy only make static codes?

Because static codes are the honest default: they work forever, respect the people scanning them, cost nothing to keep, and can't be held hostage. We'd rather give you a code you truly own than a redirect we could one day switch off. Our manifesto explains the reasoning.

Make a QR code the honest way 🐾

Free forever, no tracking, no expiry — generated right in your browser.

🎨 Create a QR code →