← GUIDES

Dynamic vs static QR codes: which one to use, and why it matters

6 min read·updated Apr 30, 2026
TL;DR — If you might ever want to change where the QR points, use dynamic. If the destination is permanent (a contact card, a Wi-Fi network), use static. Static is free forever; dynamic costs a small ongoing fee in exchange for editability and scan analytics.

The one-line difference

A static QR code embeds the destination URL directly inside the QR matrix. The URL is encoded into the black-and-white pattern; once printed, it cannot change.

A dynamic QR code embeds a short URL (like qrshop.io/s/abc123) inside the matrix. When someone scans it, that short URL hits your QR service, which looks up the current destination and 302-redirects them. You can change the destination any time — the printed QR stays the same.

Why dynamic costs money and static is free

Static QRs cost nothing per scan because no service is involved — once the QR is printed, every scan is a direct phone-to-destination connection. The QR generator made some money making it (or not, on free tiers), and that's the end of the relationship.

Dynamic QRs need infrastructure for every scan: a server to handle the redirect, a database to look up the current destination, analytics to record the scan, and ongoing maintenance to keep the short-link domain alive. Someone has to pay for that — either via a subscription (e.g. $12/mo for 30 active dynamic QRs) or a one-time pack (e.g. $36.99 for 5 QRs valid for 5 years).

If a dynamic-QR service shuts down, every printed QR they made stops working. That's the risk. Established services (QRshop, others) mitigate this with pack-pricing models that pre-commit the validity period — your $36.99 buys 5 years of redirects, contractually.

When to choose static

Static is the right choice when:

  • The destination will never change — Wi-Fi credentials, vCard contact info, phone numbers, plain text messages.
  • You want the QR to work forever, even if no service exists. Static QRs are a self-contained encoding, no network call needed for decoding.
  • You don't need analytics. If you don't care who scanned, when, or from where, the overhead of dynamic isn't worth it.
  • You're printing somewhere permanent and unrecoverable — etched into metal, tattooed, embedded in a circuit board.

When to choose dynamic

Dynamic is the right choice when:

  • The destination might change. Restaurant menus seasonal, marketing campaigns end, product pages get redesigned with new URLs.
  • You want scan analytics. Dynamic QRs record every scan: country, device, time-of-day, even unique-visitor counts (without identifying anyone).
  • You're running A/B tests or geo-routing. Dynamic QRs can serve different destinations to different visitors based on rules (country, device, time, etc.).
  • You want to retire a QR. With dynamic, you change the destination to a 'page moved' notice. With static, the QR is dead and continues to send people to a dead URL.

The hybrid trick: dynamic for setup, static for permanence

Some teams use a clever hybrid pattern. They print a dynamic QR initially because they're not 100% sure the destination is final. After 6-12 months, when the destination is settled and traffic data confirms users are happy, they print a second-generation static QR with the proven destination. The original dynamic stays alive as a fallback.

This trades a small ongoing dynamic-QR fee for the option-value of being able to change your mind. Worth it for high-stakes prints (billboards, packaging) — overkill for a $50 menu reprint.

Visual differences (there are none)

A common misconception: dynamic QR codes look different from static ones. They don't. Both render as the same black-and-white square pattern; the only difference is the URL encoded inside. A scanner can't tell them apart by looking.

What you can tell from looking: dynamic QRs tend to have lower data density because they encode a short URL like /s/abc123 (12 characters) while static QRs encode the full destination URL (often 50-200 characters). Less data means fewer modules, which means a less-busy-looking pattern.

Frequently asked

Can I convert a static QR code to dynamic later?

No — the QR matrix encodes the URL, and changing the URL means re-rendering and reprinting the QR. There's no way to make a printed static QR into a dynamic one. This is the core argument for going dynamic from the start if there's any chance you'll need to change the destination.

Do dynamic QR codes break if I lose my account?

Yes — if you stop paying for the service, the redirect stops working, and every printed QR pointing at it goes dead. This is why services like QRshop offer pack pricing: you pre-pay for a fixed period (1, 3, or 5 years) so the redirects are contractually guaranteed for that window.

Are dynamic QR codes slower to scan?

Imperceptibly. The phone still decodes the QR locally (instant), then makes a single HTTP redirect to the final destination. The redirect adds 100-300ms typically — invisible to humans.

Can dynamic QR codes track personal information about scanners?

Dynamic QRs can record country, device class, and operating system from the user's HTTP headers. They can also infer city from IP. They don't see names, emails, or phone numbers. QRshop has a privacy mode that strips even the city/browser/IP-derived fields, leaving only country/device class — useful for GDPR-sensitive deployments.

What to do next