Static vs dynamic QR codes
Same black-and-white square, two completely different things inside. One is yours forever; the other is a service you're renting without realising it.
The answer in one breath: a static code encodes your actual URL, password or contact card in the pattern, so it works forever with no server involved. A dynamic code encodes a short link owned by a QR platform, which forwards the scanner to your page — handy for editing and tracking, but the code dies the moment that forwarding stops.
How a static code works
The data is converted to bits, protected with Reed–Solomon error correction, and drawn as modules (the small squares). That's the whole system. Scanning is just reading the pattern back. Because nothing outside the printed square participates, nothing outside the printed square can break it: no account to lapse, no startup to shut down, no "free trial" of 14 days quietly ticking behind your café menu.
How a dynamic code works — and where it breaks
The pattern contains something like platform.example/x7k2. The scanner's phone visits the platform, the platform logs the scan (time, place, device) and redirects to the real destination. That hop buys two real features: you can change the destination without reprinting, and you get scan analytics. It also creates three failure modes:
Expiry. Many services generate "free" codes that are dynamic in disguise. When the trial or plan ends, the redirect stops and every printed copy becomes a link to an upgrade page — or to nothing. Platform risk. If the service closes, is acquired or changes terms, your posters are hostage to someone else's roadmap. Privacy. Every scan is a data point about your customers, collected by a third party you chose on their behalf.
When dynamic is genuinely the right choice
Short-lived campaigns where the destination really will change mid-run — a festival programme being updated daily, an A/B test of landing pages, a link that doesn't exist yet at print deadline. If you need scan counts for a client report, that's a legitimate reason too. Go in with open eyes: keep a list of everything you printed, and budget the subscription for as long as the print stays up.
When static is the right choice
Almost everything permanent: restaurant menus and table tents, product packaging, instruction manuals, business cards, Wi-Fi signs, gravestones and memorial plaques, museum labels, books. If reprinting would be expensive or impossible, the code must not depend on a subscription. Make a static code — URL, WiFi, vCard, email or SMS.
How to check a code you already have
Scan it with your phone and watch the address it shows before opening. If the address is the destination you expect, it's static. If it's a short link on a domain you don't own, it's dynamic — and worth replacing on anything you plan to keep printed.
Frequently asked questions
Are static codes less secure?
The opposite, in one respect: there's no redirect chain to hijack. But a static code shows its contents to anyone who scans it, so never encode secrets beyond what the use requires — a guest Wi-Fi password on a guest sign is fine; your banking credentials in a code would not be.
Do static codes work without internet?
The code itself does — a Wi-Fi or vCard code works fully offline because the data is the pattern. A URL code still needs internet to open the page, obviously, but none of it passes through us.
Can a dynamic code be converted to static?
Yes: find the real destination it forwards to, and generate a static code for that destination directly.