All posts

Static vs Dynamic QR Codes: When Free Is Enough

Smart QR Code Team6 min read

A QR code is a picture of a piece of text. Whether you can edit it later, whether you can count scans, and how large it has to be printed all follow from that one fact.

The only difference that matters

A static QR code holds your destination inside the pattern itself. Point a camera at it and the phone reads your full URL straight off the paper. No account, no server, no company in the middle. That also means the pattern is the link: change the link and you have a different pattern.

A dynamic QR code holds a short redirect address instead, something like sqr.cc/a7Kd9. The phone opens that address, the service looks up where it currently points, and forwards the visitor. Because the destination lives in a database rather than in the ink, you can change it whenever you like, and the service can log every scan on the way through.

Everything else people argue about is downstream of that.

When a free static code is genuinely enough

Static wins more often than QR vendors like to admit. Use it when all three of these are true:

  • The destination will not change. Your homepage, your Google review link, your Wi-Fi password, your phone number, a vCard.
  • You do not need scan counts, or you can get them another way.
  • The print run is small, cheap to redo, or short-lived — a table tent, a weekend poster, the last slide of a talk, a sign taped to a door.

Good fits in practice: a Wi-Fi login code inside a rental unit, a vCard on the back of a business card, a menu code pointing at a PDF on your own domain, or a giving code on a church bulletin that points to the same donation page every single week and gets reprinted anyway.

One underrated trick: you can track a static code without paying anyone. Add UTM parameters to the URL before you generate the code — for example yoursite.com/menu?utm_source=qr&utm_medium=print&utm_campaign=window-decal — and your existing analytics will separate those visitors from everyone else. Give each placement its own campaign tag and you can tell the window decal from the flyer.

The honest limits of that trick: it only counts people who actually land on the page, not people who scanned and bailed; it only works for web links, not Wi-Fi or vCard codes; and the extra characters make the code denser, so it needs to be printed slightly larger.

The failure mode is always the same

Static codes do not break on day one. They break in month seven, and always for the same reason: the destination moved and the ink did not.

  • 5,000 flyers point at a campaign landing page that marketing deleted after the promo ended.
  • The menu PDF gets re-uploaded to a new host with a new filename. Every table tent now leads to a 404.
  • The event registration form closes, and the code on the banner has nowhere useful to send people.
  • A code printed on 20,000 boxes or a shipping label insert points at a tracking page that gets restructured a year later.

There is no fix. You reprint, or you leave a dead code in the world. That is the entire case for dynamic codes.

Where dynamic codes earn their cost

  • Editable destination. Same printed square, new target, effective immediately.
  • Scan analytics. Counts, dates, city, device type — and crucially, per-code numbers when you have several placements.
  • One code, many landing spots. Send iPhone users to the App Store and Android users to Google Play from a single square, or rotate a seasonal offer behind a permanent sticker.
  • Bulk runs. 500 unique codes on 500 assets, each individually trackable and individually repointable.
  • Multi-link pages. When you honestly do not know which link people want, a link-in-bio page behind the code beats guessing.

The catch nobody puts in the sales page

A dynamic code depends on a live service. If your plan lapses, or the provider shuts down, the redirect stops resolving and every printed code becomes a dead end at once. A static code has no such dependency — the URL is in the ink, and it works as long as that URL works.

Two other trade-offs worth knowing: the redirect adds a hop, and some corporate networks and security tools are suspicious of short links. If you are printing something meant to last a decade — engraved plaques, permanent signage, product housings — the safest option is a static code pointing at a short, clean URL on your own domain, where you control the redirect yourself.

Size, contrast and the 10:1 rule

Static codes carry more data, so they have more and smaller squares. A 25-character short link produces roughly a 25 x 25 module grid; a 90-character URL with UTM tags can push past 45 x 45. Same printed size, much finer detail, much less forgiving of cheap printing and bad light.

Size the code from scan distance: minimum width equals scan distance divided by 10.

  • Business card or product label, read at 20 cm (8 in): 2 cm minimum, print 2.5 cm (1 in).
  • Table tent or menu, read at 50 cm: 5 cm (2 in).
  • Window decal read from the sidewalk at 2 m (6 ft): 20 cm (8 in).
  • Trade show banner at 5 m: 50 cm (20 in).

Then: leave a clear quiet zone around the code of about 10 percent of its width — no text, no border, no logo crowding the edge. Keep it dark on light, not inverted. Skip pastel-on-pastel colour schemes. Matte stock beats glossy anywhere there are overhead lights.

Ten minutes of testing before you print

  1. Scan the final artwork from the real distance, on both an iPhone and an older budget Android.
  2. Print one proof at final size on the final material. Do not judge from a screen.
  3. Test it in the actual lighting — the dim corner of the restaurant, the sunlit window, the parking lot at dusk.
  4. Open the landing page on mobile data, not office Wi-Fi, and see how slow it really is.
  5. Confirm the URL is the live one, not a staging or preview link. This is the single most expensive mistake in QR printing.

Five mistakes that cost real money

  • Printing before the landing page exists. Build the page, then generate the code.
  • Shrinking to fit. A 1 cm code on a bottle neck label will not scan reliably no matter how good your printer is.
  • Bad placement. Across a fold, over a spine, on a sharply curved surface, or somewhere with no phone signal — basements, lifts, transit tunnels.
  • Nowhere to stand. Highway billboards and codes on moving vehicles do not work. People need three seconds and a stationary target.
  • No reason to scan. A bare square gets ignored. One line above it — what they get, and why now — changes the numbers more than any design tweak.

The 30-second decision

Choose static when the destination is permanent, the quantity is small, reprinting is cheap, and you would rather not add another subscription. Choose dynamic when the printed item will outlive the campaign, when you need per-placement numbers to justify the spend, or when the destination is even slightly uncertain.

If you want one rule: if reprinting would cost more than a year of a dynamic plan, go dynamic. If it would cost less, print the free static code and keep your money.

Make yours

You can generate a free static QR code on the homepage — no account, no expiry, download and print. If you need to change the destination after printing or see how many people are actually scanning, the dynamic options are on pricing.

Ready to make your own QR code?

Create a free QR code