Back to blogTutorials · 7 min read

Static vs dynamic QR codes — which should you use?

The choice you make in the first 30 seconds of creating a QR code affects everything downstream — what it costs, what you can measure, and whether you can update it later without reprinting.

April 2026· 7 min read

TL;DR: Use a static QR when the destination will never change (your WiFi network card, a vCard on a tombstone). Use a dynamic QR for literally everything else — especially marketing, menus, packaging, signage, or anything you want to measure.

The fundamental difference

A static QR code encodes your destination directly into the black-and-white pattern. If you encodehttps://example.com/menu, the URL is physically baked into the dots. Change the URL → different dots → you have to reprint.

A dynamic QR code encodes a short redirect URL that you own (for example, https://qrx.io/a3b9c2). When someone scans it, our servers look up the current destination and redirect. The printed pattern never changes — but the destination can change anytime you want, even years after printing.

Feature-by-feature comparison

FeatureStaticDynamic
Destination changes after printing No Yes
Scan analytics No Yes
Requires hosting / subscription No Yes
Works offline forever Yes No
A/B testing No Yes
UTM trackingManualAutomatic
Expiration / retirement No Yes
Password or geo restrictions No Yes
Typical costFree$9–$79/mo
Printed pattern changesYes — whenever target changesNever — always the same

When static wins

  • WiFi credentials on a wallet card that lives forever
  • Bitcoin / Lightning tip addresses where you don't want a redirect layer between the scanner and your wallet
  • vCard on a physical monument or permanent installation
  • Short text that is the actual content — a room number, a locker code, an inventory SKU
  • Offline use cases where users may not have internet at scan time

Static codes are also free. No subscription, no server dependency, no privacy concerns. For a one-off use case like putting your personal vCard on a gravestone (yes, this is a thing), static is the only right answer.

When dynamic wins

  • Any marketing campaign — so you can retire the code when the campaign ends
  • Restaurant menus — so you can update prices without reprinting every table
  • Event tickets — so you can issue and invalidate codes
  • Packaging — so you can update the product page (or serial-number-to-batch lookup) without a label refresh
  • Anything you want to measure — scan counts, geo, device, time-of-day
  • Anything you might want to A/B test
  • Compliance codes (DSCSA, DPP, FSMA) that must resolve to a live regulatory record

The decision framework

When you're not sure, run through these five questions:

  1. Will I ever want to change the destination? → If yes, dynamic.
  2. Do I need analytics? → If yes, dynamic.
  3. Is the code going on something I'd have to reprint / replace? (packaging, signage, menus) → Dynamic.
  4. Is this a campaign with an end date? → Dynamic.
  5. Will scans happen where there's no internet? → Static.

If you answered “no” to every question, static is fine. Otherwise dynamic is almost always worth the $9/month for the peace of mind.

The hidden gotcha: vendor lock-in

Dynamic QRs depend on the vendor's short-URL domain staying alive. If your provider goes bankrupt, changes domains, or boots you off the platform, every printed code stops working. Mitigations:

  • Use a custom domain (available on QRMax Business+) so you own the DNS.
  • Choose vendors with data portability guarantees. QRMax lets you export every redirect mapping as a CSV.
  • For mission-critical or printed-at-scale deployments, negotiate a data-escrow clause in your enterprise contract.

Takeaway

Default to dynamic. It's more flexible, gives you analytics, and protects against future changes. Only fall back to static when you have a specific reason (offline use, permanence, or avoiding any dependency on a third party).

Ready to create one? Open the QR generator — we give you the static/dynamic choice on the very first screen.