Static vs Dynamic QR Codes: Which One Should You Use?
Static codes are free and last forever but cannot be edited. Dynamic codes can be updated and tracked but rely on a short link service. Here is when each one wins.
Every QR code generator eventually asks you the same question. Do you want a static code or a dynamic one? The answer matters because it changes what your code can do for the rest of its life. Pick wrong and you may end up reprinting a thousand stickers a year from now.
What is a static QR code?
A static QR code encodes its destination directly into the pattern of black and white squares. If you point a static QR at example.com, the URL example.com is literally baked into the pixels. Scan the code with anything from any year and it always goes to example.com. Forever.
Static codes have three big upsides. They are completely free, they do not expire, and they work even when the company that generated them goes out of business.
What is a dynamic QR code?
A dynamic QR code does not actually encode your destination. It encodes a short link (something like qr.dn/abc) that lives on a generator's server. When someone scans, the phone hits the short link, the server looks up where it should redirect, and forwards the user there.
Because the destination is just a database row, you can change it anytime. The printed code stays the same, the URL behind it can change. As a side effect, the server can also count every scan, so dynamic codes give you analytics for free.
The trade off in one table
| Static | Dynamic | |
|---|---|---|
| Cost | Free, always | Free for a few, paid plan beyond |
| Editable after print? | No | Yes |
| Scan analytics? | None | Built in |
| Lifespan | Forever | As long as the generator stays online |
| Pattern density | Depends on URL length | Always small (short link) |
When static is the right call
Pick static if your destination genuinely never changes and you do not need to track scans.
- Personal vCard. Your phone number on a business card. Set and forget.
- WiFi codes. The credentials are the data. There is no destination to redirect to.
- Plain text codes. A serial number on a part, a tag on a museum exhibit, a checkpoint in a corporate scavenger hunt.
- Permanent landmarks. A plaque outside a building linking to its history page. The page might be redesigned, but the URL slug is yours.
When dynamic is the right call
Pick dynamic if you might ever want to change the destination, or if you want to know whether anyone is actually scanning the thing.
- Restaurant menus. Prices change, items rotate, seasonal specials come and go. Dynamic means you do not reprint every six months.
- Marketing campaigns. You want to know which poster, which city, which week is converting. Static cannot tell you any of that.
- Product packaging. The product lives for years. The campaign you want to link to does not.
- Event check ins. One code, redirected day by day to the right page in your event app.
The hidden gotcha with dynamic codes
Dynamic codes only keep working as long as the redirect service stays online. If the generator you used in 2026 goes out of business in 2031, every printed code that points at their short domain stops working. Migration is impossible because you cannot edit a printed sticker.
Two ways to protect yourself:
- Use a generator that lets you point dynamic codes at a domain you own (qrdone supports this). If the service ever vanishes, you keep the domain and can host your own redirects.
- Stick to a generator with a long track record and clear pricing. A free unlimited dynamic code service is usually paying its bills with your data, or about to disappear.
Can you mix the two?
Yes, and it is often the right move. Use static codes for things that genuinely never change (your business card, your wedding website link, an artwork plaque) and dynamic codes for anything that might evolve (menus, posters, packaging). One QR code on a product does not need to be the same type as the one on the box.
The short answer
If your printed code will live longer than three years, or if you care at all about scan stats, go dynamic. Otherwise static is lighter, free, and dependably permanent. Open QRDone, paste your link, and toggle Track scans on if you want dynamic. The difference is one click.
Make your QR code now
Free, no signup, beautiful by default. Pick a type, fill it in, download.
Open QRDone →