I still think about a wedding photographer who printed her portfolio link on eight hundred business cards through a free “dynamic QR” tool she found online. Two years later the tool’s free tier folded, her cards started pointing at a parking page begging her to upgrade, and every one of those eight hundred cards became a small advertisement for someone else’s paywall. Nothing was wrong with the printing. The code scanned beautifully. It just no longer led anywhere she controlled.

That story is the entire static-versus-dynamic decision in miniature. The two words sound like a technical spec. They are really a question about who owns the next step after someone scans.

Two side-by-side QR scan flows, the left reaching an owned web page directly, the right passing through a third-party redirect service before arriving.

What the pattern actually stores

Every printed QR code is a frozen grid of modules, the same fixed pattern covered elsewhere. It cannot change. So the real difference lives in what those modules encode.

A static code stores the final information directly. The full web address, the Wi-Fi settings, the plain text - it is all right there in the pattern, and the scan reaches its destination with nobody in between. A dynamic code stores something sneakier: a short URL that belongs to a service. When you scan it, that service’s server receives the request first, decides where to send you, and can log details about the visit along the way. The pattern is still static and fixed. The destination is the part someone can change later.

The decision, honestly, in one breath

Choose static when the destination is stable and you care about owning the whole chain, working offline, or keeping data handling minimal. Choose a carefully vetted redirect service only when you genuinely need to change the destination after the thing is printed, and you accept the ongoing obligations that come with it. That is the whole call. Everything below is just the reasoning that makes it yours instead of mine.

The editing you think you are buying

The headline pitch for dynamic codes is “edit the destination anytime,” and it is real. On a permanent plaque or a product package you cannot reprint, being able to repoint the code is genuinely valuable.

But notice the quieter alternative. If a static code points to a URL you own, the same approach behind creating a QR code for a website, like https://highenddiy.com/event/, you can keep the printed code identical forever and simply change what lives at that page. The encoded address never moves, yet the content behind it does. That gives you most of the flexibility of a dynamic code with none of the third-party dependency, as long as you were going to run a web page anyway.

A dynamic provider only earns its keep when you need to change the destination and you have no stable URL of your own to hide the change behind. That is a narrower situation than the marketing suggests.

Who sees the scan

This part deserves more attention than it usually gets. A static code that encodes your website sends the visitor straight to your host. Your own server logs may record the visit, sure, but there is no extra company sitting in the middle by design.

A redirect service sits in the middle by definition. Before the real site ever hears about the scan, the provider’s server has already handled it, and depending on how it is built and configured it may capture the time, an IP-derived location, the device, the referrer, or campaign tags. None of that is automatically sinister, but none of it is automatically anonymous either. “Scan analytics” is a data pipeline with a vendor attached. Read that vendor’s current documentation, contract, retention policy, consent tooling, and security posture before you assume otherwise.

A stack of ownership questions on a checklist: who owns the domain, can data be exported, what if billing stops, is there a shutdown plan.

For a direct static code, only two things can fail: the scanner and your destination. Short chain, few surprises.

Add a redirect and you have added a link. Now the code can be physically perfect and still die because a subscription lapsed, terms changed, a domain expired, an account got compromised, or the provider simply shut down - exactly what happened to the photographer. Before you trust a redirect on anything long-lived, get straight answers to a short list, the kind of thing worth folding into a pre-launch checklist for a public QR-code campaign:

  • Who owns the domain the code encodes? You, or the vendor?
  • Can you export the redirect data and history if you leave?
  • What happens to the code the moment billing stops?
  • Is there a documented shutdown or domain-transfer plan?
  • Who is allowed to change the destination, and is strong authentication required to do it?

If those answers make you uneasy on a poster you can reprint next month, fine. On a monument plaque or a product with a five-year shelf life, they are the whole decision. The stakes run just as high on anything printed and distributed early, like a real estate sign that needs to stay accurate for months or an event code printed weeks before the schedule locks.

Two real cases, two different answers

A neighbourhood repair café prints a hundred table cards linking to its weekly “what we are fixing this Saturday” page. It owns the website, and it can keep /saturday/ at a stable address while swapping the content every week. A plain static URL is not just enough here, it is the better choice - no vendor, no subscription, no expiry, and the flexibility comes free from owning the page.

A repair café table card beside a museum exhibit plaque, illustrating a stable static link versus a controlled redirect.

A museum prints a permanent exhibit plaque and knows the language-specific audio guide behind it will be reworked for years. Here a redirect can be justified - but ideally one the museum runs on its own domain, with accessibility, privacy handling, uptime monitoring, and a long-term ownership plan all documented before the plaque is cast. The tool serves the plan; it does not replace it.

Cost is a lifecycle, not a first invoice

Static generation can be free, but the destination page still needs hosting and upkeep. Dynamic platforms bundle in design, collaboration, and reporting features that can be genuinely useful, yet they also create real work: vendor review, security sign-off, renewal budgeting, and the standing risk that the whole thing evaporates when the invoice stops. Compare the full life of the code, not the price of setting it up on a Tuesday afternoon. The photographer’s tool was free. It just cost her eight hundred cards.

Create the code you need

Use HighEndDIY’s private browser tool, then test the result in the setting where people will scan it.

Create a QR Code

Found something that should be corrected? Email help@HighEndDIY.com.