Dynamic vs Static QR Codes: Which One Should You Use?
Static vs dynamic QR codes compared: how each works, editable destinations, scan analytics, privacy, and which to pick for print, menus, Wi-Fi or vCards.
The one difference that matters
Every QR code encodes a string of characters. The only real difference between static and dynamic codes is what that string is. A static code contains the final content itself: the full URL, the Wi-Fi credentials, the vCard text. A dynamic code contains a short URL pointing to a redirect service, and the redirect service holds the real destination in a database where you can change it.
Everything else people attribute to dynamic codes, editing, analytics, smaller modules, follows from that indirection. And every weakness of dynamic codes follows from it too. The scanner itself does not know or care which kind it is looking at; it reads the string and hands it to the operating system.
How static QR codes work
A static code is self-contained. Generate it once, print it, and it will decode to the same content for as long as the print survives, with no dependency on any server, company or subscription. A static code made on [qrsvg.app](/) today will scan identically in twenty years even if the site no longer exists.
The cost is rigidity. The content is baked into the pattern of modules, so fixing a typo or moving a page means generating a new code and reprinting everything that carried the old one. There is also no visibility: you cannot tell whether anyone scanned it, when, or from where, unless you add UTM parameters to a URL and read them in your web analytics.
Density is the other consideration. The longer the encoded string, the higher the QR version and the more modules per side. A 25-character URL fits in a version 2 code at 25 x 25 modules; a 120-character URL with tracking parameters needs roughly version 7 at 45 x 45 at the same error correction level. That denser grid needs a larger print to remain scannable, as explained in the size and print guidelines.
How dynamic QR codes work
A dynamic code on qrsvg.app encodes a link of the form https://qrsvg.app/r/<code>, where the code is a 7-character identifier. When someone scans it, their phone opens that short URL, the qrsvg.app server looks up the identifier, records the scan and issues an HTTP redirect to whatever destination is currently stored. The whole round trip typically takes a fraction of a second on a normal mobile connection.
Because the destination lives on the server, you can change it at any time from your dashboard without touching the printed code. Point a poster at a pre-launch page, switch it to the product page on launch day, and later redirect it to a discount when stock needs clearing, all with the same physical print.
The payload is always about 30 characters regardless of where the code eventually leads, so a dynamic code stays at a low version, roughly 29 x 29 modules at level Q or H. Fewer, larger modules scan faster and more reliably at small print sizes, and leave more room for a logo or decorative styling.
Dynamic codes require a free account on qrsvg.app, because the redirect and its history need to belong to someone who can edit them. Static codes need no account at all.
What scan analytics actually show
Each redirect is logged, and the dashboard turns the log into scans over time, country and city derived from the network location, and the device type, operating system and browser family taken from the user agent header. That is enough to answer the questions that matter for a campaign: is anyone scanning, which placement performs best, and is the audience mostly iPhone or Android.
It is not personal surveillance. qrsvg.app never stores raw IP addresses; the address is used at request time to resolve a coarse location and then discarded. User agent strings are hashed with a salt that rotates daily, so repeat scans from one phone can be counted as unique within a day but cannot be tracked across days or joined to an identity. You get aggregate patterns, not profiles of individuals, which is also what keeps the setup straightforward under GDPR-style privacy rules.
If you need finer attribution, such as which of several posters in the same city drove a sale, create one dynamic code per placement rather than trying to extract it from a single code's data.
The honest trade-offs
A dynamic code is only as durable as the redirect service. If the service is down, the scan fails; if the service shuts down, every printed code pointing at it becomes useless. That risk is real for any short-link provider, and it is the main argument for using static codes on things designed to last many years, like engraved plaques or product manuals.
Dynamic codes add a redirect hop, which costs a few hundred milliseconds and depends on the phone having connectivity at the moment of scanning. Static URL codes need connectivity too once the browser opens, so the practical difference is small, but static Wi-Fi, vCard, SMS or phone codes work entirely offline and a dynamic version of them would not.
Some scanning apps show the intermediate short URL before opening it. A qrsvg.app/r/ link is short and readable, but users who are wary of unknown domains may hesitate more than they would for a recognisable brand URL. Printing your brand name or a call to action next to the code offsets this.
Finally, dynamic codes require you to keep an account and to remember which code points where. For a single personal link that will never change, the extra step buys nothing.
Which one to choose: use-case guide
The decision usually comes down to two questions: might the destination change, and do you need to know how many people scanned? If either answer is yes, go dynamic. If both are no, or the content is not a URL, go static.
- Print campaigns, flyers and billboards: dynamic. Destinations change, and per-placement scan counts tell you what worked.
- Product packaging: dynamic. The packaging outlives the landing page it was designed for, and you will want to redirect old stock.
- Restaurant menus and table tents: dynamic. Menus change weekly; reprinting a code for every price update is wasteful. See QR codes for restaurant menus.
- Event posters and tickets: dynamic, so the code can move from registration to the schedule to post-event photos.
- Wi-Fi access: static. Credentials are encoded directly and the phone joins the network without opening a browser. See the Wi-Fi QR code guide.
- Business card vCard: static. The contact details are saved offline straight into the address book. See vCard QR codes for business cards.
- One-off links, personal use, presentations: static. No account, no dependency, nothing to maintain.
- Permanent installations such as plaques, signage and manuals: static, unless you accept the dependency on the redirect service for the lifetime of the object.
Combining both approaches
You are not locked into one type. A common pattern is to use static codes for anything that encodes non-URL data or is designed to last, and dynamic codes for marketing where iteration and measurement matter. Both are generated from the same interface on qrsvg.app, with the same styling options, the same SVG, PNG, JPEG, WebP and PDF exports, and the same bulk generation from CSV when you need hundreds at once.
Developers integrating QR generation into their own systems can produce static SVG codes through the public API with a single GET request, described in the QR code API guide. Whichever route you take, follow the basic checklist in how to create a QR code: short payload, adequate error correction, dark on light, and a real-phone test before printing.
Frequently asked questions
- Do dynamic QR codes expire?
- Not on their own. A dynamic code keeps working as long as the redirect exists and the service is online. You can change or disable the destination from your dashboard at any time.
- Can I convert a static QR code into a dynamic one?
- No. The content is fixed in the printed pattern. You would generate a new dynamic code and reprint it, which is why it is worth choosing dynamic before the first print run.
- Do dynamic QR codes cost money on qrsvg.app?
- No. They require a free account so the redirect and analytics belong to you, but there is no charge.
- Does the scanner need internet for a dynamic code?
- Yes, because the phone must reach the redirect server to learn the destination. Static URL codes also need internet once the browser opens, but static Wi-Fi and vCard codes work offline.
- What data does a dynamic QR code collect about the person scanning?
- Aggregate information only: time of scan, approximate country and city, and device, OS and browser family. Raw IP addresses are never stored and user agents are hashed with a daily-rotating salt.
Free, no signup
Make this QR code now
Clean SVG, PNG or PDF in seconds. Style it, add a logo, download.