EndureQR

Basics

Static vs dynamic QR codes: which one should you use?

Static codes are fixed and free. Dynamic codes can be edited and measured. Here is how they differ and when each one makes sense.

Updated · 6 min read

A static QR code stores its content, such as a web address or WiFi password, directly in the pattern. It is free, works without a service behind it and never expires, but it cannot be changed after printing. A dynamic QR code stores a short redirect link, so you can change the destination at any time and track scans, but it relies on a provider to keep the redirect running. Use static for content that will not change and dynamic for anything you may need to update.

What is a static QR code?

A static code is the original kind of QR code. The content is encoded straight into the pattern of modules, following the ISO/IEC 18004 standard. When a phone scans it, the phone reads the content and acts on it. Nothing else is involved.

That simplicity has real benefits. A static code cannot be switched off by anyone, has no scan limits and costs nothing to make. It can also hold more than web links: plain text, WiFi login details, contact cards, email drafts, text messages, phone numbers and map locations all work.

The trade-off is that the content is permanent. If the web address changes, the code is wrong forever. Long content also makes the pattern denser. QR codes come in versions 1 to 40, from 21 by 21 modules up to 177 by 177. More characters push the code to a higher version with smaller modules, which needs a larger print size to scan reliably.

What is a dynamic QR code?

A dynamic code encodes a short link owned by a QR service. When someone scans it, the phone opens that short link, and the service forwards the visitor to whatever destination you have set. Because the destination is stored on the service and not in the pattern, you can change it whenever you like.

Sitting in the middle also lets the service do more. Typical features include scan counts, rough location and device data, sending iPhone and Android users to different app stores, and pausing a code. The short link keeps the pattern simple, so dynamic codes stay easy to scan even when the final destination is a very long address.

The cost is dependence. The code only works while the provider keeps the redirect live, and some services deactivate codes when a trial or subscription ends.

Static vs dynamic at a glance

Static QR codeDynamic QR code
What the code holdsThe final content itselfA short redirect link
Change destination after printingNoYes
Scan analyticsNoYes, detail varies by provider
Works if the provider disappearsYesNo
ExpiresNeverOnly if the provider switches it off
Pattern densityGrows with content lengthStays low, because the link is short
Content typesURL, text, WiFi, contact card, email, SMS and moreMainly web links
Internet needed to scanOnly if the content is a web linkYes, for the redirect
Typical costFreePaid plan

Two rows in that table matter most in practice. The first is changing the destination after printing. If there is any chance the link will move, a static code becomes a reprint. The second is dependence on the provider. A static code is yours outright. A dynamic code is only as durable as the provider's policy on cancelled accounts, which is why that policy deserves more attention than the feature list.

When a static code is the right choice

Choose static whenever the content is stable and you do not need numbers on who scans.

  • WiFi access. Network details have to be in the pattern for the phone to join, so WiFi codes are always static. Make one with the WiFi QR code generator.
  • Business cards. A vCard QR code saves your name, number and email straight into the scanner's contacts.
  • Permanent pages. Your homepage, a support page or a review page that will not move.
  • Plain information. Serial numbers, short instructions or labels that do not need a website at all.

When is a dynamic QR code worth paying for?

A dynamic code is worth paying for when the print will outlive the destination, or when you want to know whether the code is being used.

  • Menus. Prices and dishes change, and a dynamic code on every table means one print for all of them. See how this works for restaurants.
  • Property signs. Point the same sign at a new listing when the last one sells.
  • Events. Send early scans to the ticket page, then switch to the schedule on the day.
  • Packaging and long print runs. Anything expensive to reprint benefits from a destination you can change.
  • Campaigns you want to measure. Scan analytics show where and when people engage.

Many businesses use both. A café might print a static WiFi code next to a dynamic menu code: the WiFi details rarely change, but the menu does.

What to check before choosing a dynamic provider

Dynamic codes from different services look the same on paper. The differences are in the terms.

  1. What happens to your codes if you cancel or stop paying.
  2. Whether there are limits on codes, edits or scans.
  3. What the analytics show, and whether you can see them per code.
  4. Whether you can pause a code without deleting it.
  5. The full yearly price, not only the first month.

EndureQR's free generator makes static codes with no sign-up and no watermark. Paid dynamic codes add editing after printing, scan analytics by city, device and time of day, iPhone and Android smart redirects, and pausing with a friendly page. Pro is $29 a year or $3.99 a month, Lifetime is $79 once, and your codes keep working even if you cancel. Compare plans on the pricing page.

FAQ

Quick answers.

Something else? Email hello@endureqr.com and a person will reply within one business day.

No. The content of a static code is fixed in the printed pattern. To get editing and analytics, create a new dynamic code and replace the old one on your materials.

The phone has to open the short link before reaching the destination, which adds a brief redirect. In normal use most people will not notice it.

Neither type is secure or insecure by itself. A static code shows exactly what it contains. A dynamic code is only as trustworthy as the account that controls it, so protect that login.

Often not. If the link will not change and you do not need scan data, a free static code is enough.

Print it once. Keep it forever.

Make your first dynamic code in a minute. If you ever leave, it keeps working.