Skip to content

Static vs dynamic QR codes: how each one works

A static QR code holds your content in the pattern and needs no service at all. A dynamic code holds a short link, so you can change where it points and count scans after printing. Here is how each kind works, when each one fits, and what to check before you print.

What is inside a QR code

A QR code is a grid of dark and light squares called modules. The pattern encodes a short piece of text, and that text is all a phone ever sees. When the text is a web address, the phone offers to open it. When it follows another well-known format, the phone offers to join a Wi-Fi network, save a contact, start an email or open a map.

Three large squares in the corners tell the camera where the code is and which way up it sits. The rest is the content plus error correction, extra data that lets the code survive scratches, glare or a small mark.

How a static QR code works

A static code puts your content directly into the pattern. There is no link in between and nothing to renew. As long as the content is still valid, a phone can read it: a web page that is online, a Wi-Fi network with that password, a contact card, a phone number.

The trade-off is that the content is fixed. To change it you print a new code. And because no service sees the scan, a static code cannot count scans on its own.

The more text you encode, the more modules the code needs, and higher error correction makes it denser still. The table shows four typical examples at level M (15% recovery) and level H (30%).

ContentBytesLevel MLevel H
https://example.com1925 x 25 modules29 x 29 modules
A link with tracking tags, 65 characters6537 x 37 modules49 x 49 modules
Wi-Fi network with a password4833 x 33 modules41 x 41 modules
Contact card: name, company, phone, email, website17453 x 53 modules69 x 69 modules

The largest QR code the standard allows, version 40 at level L, holds up to 2,953 bytes of text. Real-world codes should stay far below that: a smaller pattern scans faster, from further away, with older cameras.

How a dynamic QR code works

A dynamic code holds a short link instead of your address. When a phone scans it, it opens the short link, which forwards the phone to your page.

That one hop is what makes the code dynamic. The destination lives with the link rather than in the pattern, so you can change it after printing, and each scan can be counted on its way through. Short links also make small, simple patterns, which helps with long addresses.

It also means every scan relies on the link staying on. So the one thing worth checking is what your provider does with links when a plan ends or an account goes quiet. Some switch them off. Snip links keep working on the free plan.

Static and dynamic side by side

Static codeDynamic code
What the pattern holdsYour content itselfA short link to your content
Needs a service to workNoYes, the short link must stay on
Change the destination after printingNo, make a new codeYes
Scan countsOnly through your own website analyticsCounted by the link
Account neededNoUsually
Best forWi-Fi, contact cards, content that will not changePrint that may need a new destination, campaigns

Which one to choose

Pick a static code when the content will not change: the Wi-Fi in a rental, a contact card, a phone number, a page you own and plan to keep. It is free, needs no account and has nothing to maintain.

Pick a dynamic code when the code goes on something you cannot reprint easily and the destination might move: packaging, signs, menus, flyers for a campaign that changes. You also get scan counts without setting up analytics. With Snip you make a short link, print its QR code, and change the destination or read the counts later.

How to tell which kind you have

Scan the code with your phone camera and read the preview before you open it. If it shows your own address, the code is static. If it shows a short link, it is dynamic, and it relies on whoever runs that link.

In the free generator, the text under the preview shows exactly what goes into the pattern.

A checklist before you print

  • Check the content. Open the link, join the network, save the contact. A typo in a static code is permanent.
  • Pick the error correction level. M for most uses, Q or H for outdoor signs and curved surfaces.
  • Keep the blank border. Leave 4 modules of empty space around the code.
  • Size it for the distance. About one tenth as wide as the scanning distance: 2 to 3 cm for a table menu, much larger for a poster.
  • Use strong contrast. A dark code on a light background reads best.
  • Download SVG for print. It stays sharp at any size. Use PNG for documents, slides and websites.
  • Test the proof. Scan the printed sample with two different phones before you order the full run.

Ready to make one? The free generator draws every code in your browser. If you want to change it later or count scans, make a Snip link instead.