Static vs Dynamic QR Codes: Which One Do You Actually Need?

7 August 2026 · 7 min read

Almost every QR code generator asks you to pick between static and dynamic before you have any idea what the difference is. Then it charges you for one of them. This post explains what is actually happening inside each type, so you can pick once and not regret it after the flyers are printed.

What a QR code really stores

A QR code is not a link. It is a two dimensional grid that encodes a string of text. That string might be a URL, but it could just as easily be a phone number, a WiFi password, a contact card, or a plain sentence.

That single fact explains the entire static versus dynamic distinction.

Static QR codes

In a static code, the string is the data. If you encode https://example.com/summer-menu, that exact address is physically baked into the pattern of black and white squares. The code is self contained. There is no server in the middle, no account, and nothing to expire.

What this gets you:

  • It works forever, as long as the destination exists.
  • Nobody can shut it off. It does not depend on the generator you used still being in business.
  • It works offline for data types that need no internet at all, such as WiFi credentials or a contact card.

What it costs you:

  • You cannot change the destination. Ever. Change the link and you reprint everything.
  • You cannot track it. No scan count, no dates, no locations.
  • Long URLs make dense codes. A tracking heavy URL with campaign parameters produces a grid so fine that it becomes hard to scan at small print sizes.

Static codes are the right choice more often than the industry admits. WiFi codes on a guest room wall, a contact card on a business card, a permanent product page, a code carved into a plaque. If the destination is genuinely fixed and you do not need the numbers, static is simpler and more durable.

Dynamic QR codes

In a dynamic code, the string is a short redirect URL that points at a server. Someone scans, hits that short link, and the server forwards them to wherever you have currently pointed it.

The pattern of squares never changes. The destination behind it can change as often as you like.

What this gets you:

  • Editable destination. Point today's code at a landing page, and next season at a different one, without touching the printed material.
  • Scan analytics. How many scans, on which days, at what times, roughly from where, on which device type.
  • A simpler pattern. Because the encoded string is short, the code has fewer modules, larger squares, and scans more reliably at small sizes and awkward angles.
  • Fixable mistakes. Typo in the URL after printing five hundred stickers? Change the target and nothing gets thrown away.

What it costs you:

  • It depends on a service. If the redirect stops working, every printed code stops working with it.
  • It usually requires an account, and on most platforms a subscription.

The dense code problem, explained

This one deserves its own section because it catches people out physically rather than strategically.

QR codes come in versions, from a small 21 by 21 module grid up to a 177 by 177 grid. The more characters you encode, the higher the version, and the smaller each individual square becomes at any given print size.

A short redirect link might use forty characters. The same destination with campaign tracking parameters attached can easily run past two hundred. The second one produces a visibly busier code, and busy codes fail more often on cheap print, on curved surfaces, at distance, and under bad lighting.

So if you want campaign parameters on your links, a dynamic code is not just convenient. It is the technically better artifact, because it keeps the printed pattern simple while still passing the long parameters through on the redirect.

Error correction, and why your logo fits

QR codes carry redundant data at four levels, commonly described as roughly 7, 15, 25, and 30 percent recoverable. That redundancy is why a code still scans with a coffee ring on it, and it is also why you can drop a logo into the centre.

A practical way to think about it:

  • Low correction: clean, controlled print, small surface, no logo. Smallest pattern.
  • Medium: the sensible default for most printed marketing.
  • High: stickers, outdoor surfaces, anything that will be scratched, wet, or partly obscured, and anything with a logo in the middle.

Note the trade off. Higher correction adds redundant data, which means a denser pattern at the same print size. Combining a very long static URL with the highest error correction is how you end up with a code that looks like static noise and refuses to scan.

How to choose in ten seconds

Ask yourself two questions.

Will the destination ever change? If yes, dynamic. This includes menus, price lists, event pages, seasonal promotions, app download links, and anything pointing at a page you might redesign.

Do you need to know if it worked? If yes, dynamic. Print campaigns without measurement are guesses. Two thousand flyers with a code that reports eleven scans tells you something urgent and useful.

If both answers are no, use a static code and enjoy the fact that it will outlive every service that wanted to charge you monthly for it.

Where each type fits in practice

Good for static:

  • WiFi access in a guest room, cafe, or office
  • vCard contact details on a business card
  • A phone number or an email address
  • Plain text instructions on equipment
  • A permanent homepage that will never move

Good for dynamic:

  • Restaurant menus
  • Event tickets, schedules, and venue information
  • Product packaging that points at guides or registration
  • Posters, flyers, and outdoor advertising
  • Review collection cards
  • Anything you plan to A/B test across placements

The mistake that causes reprints

The most expensive QR mistake is not choosing wrong. It is choosing a dynamic code from a service that puts your codes behind a trial, then deactivates them when the trial ends.

The pattern is common. A free plan generates dynamic codes, you print two thousand of them, and thirty days later the redirect starts serving an upgrade page instead of your menu. The code still scans perfectly. It just no longer does what you printed it to do.

Before you print anything at scale with a dynamic code, check three things:

  1. What happens to your codes if you stop paying.
  2. Whether there is a scan limit, and what happens when you pass it.
  3. Whether the free tier brands the code, the download, or the landing page.

Frequently asked questions

Can I convert a static code into a dynamic one? No. The destination is physically encoded in a static pattern, so changing behaviour means generating a new code. The one workaround is to have pointed the static code at a URL you control, such as a page on your own domain, and then set up a redirect on your own server.

Do dynamic QR codes scan slower? Not noticeably. There is one extra redirect hop, which adds milliseconds. The simpler pattern often makes them faster to acquire with the camera, which cancels it out.

Are dynamic codes less private for the person scanning? The redirect service sees scan events. Reputable services log aggregate data such as time, device type, and approximate region rather than anything that identifies an individual. Check the privacy policy of whichever provider you use.

How many times can I edit a dynamic code? On most services, unlimited. The printed pattern never changes, so editing is just updating a database row.


Both types are free to generate at myqrpal.com, analytics included rather than locked behind a plan, and no logo dropped into the middle of your code.

Make a free QR code in seconds

No sign-up for PNG, no watermark, and redirects that never expire.

Open the generator