A static QR code has the destination printed into the pattern. A dynamic one points at a link you control. That single difference decides whether a change of plan costs you thirty seconds or an entire print run.
How each one works
A QR code is just a way of writing text that a camera can read. With a static code, that text is your destination — the full web address, the WiFi password, the phone number. Change what it says and you necessarily change the pattern, because the pattern is what it says.
With a dynamic code, the text is a short link belonging to you. The pattern never contains your real destination, so you can change where that short link goes as often as you like and every printed copy follows along. It also means each scan passes through something you own, which is how scans get counted.
The comparison
| Static | Dynamic | |
|---|---|---|
| Change the destination later | No — reprint required | Yes, instantly |
| Count scans | No | Yes, with time, country and device |
| Works without an account | Yes | No |
| Keeps working forever | Yes | While the short link lives |
| Pattern complexity | Denser for long URLs | Always simple — short link |
| Works offline | For WiFi, vCard, text | Needs a connection |
When static is the right answer
Static is not the inferior option — it is the correct option whenever there is no destination to change:
- WiFi credentials on a guest room card. The password is the content; there is nothing to repoint.
- A vCard on a business card. Your details are in the pattern and work with no signal at all.
- A phone number or plain text. Same reasoning.
In all of these, a dynamic code would add a dependency — a working connection and a live service — in exchange for nothing.
When dynamic is not optional
- Anything printed at volume. Packaging, menus, posters, vehicle livery. The cost of being wrong is a reprint.
- Anything where you want to know if it worked. Only dynamic codes can be counted.
- Anything seasonal. A table code that points at a different menu each season is one code, edited four times.
- Anything tied to a campaign that ends. When the offer expires, send the scan somewhere useful rather than to a dead page.
The mistake people actually make
Not choosing static when they needed dynamic — choosing static without realising there was a choice. Most free generators produce static codes silently, because static costs them nothing to host. You find out when the address changes and several hundred printed copies stop working.
The related mistake is the opposite: using a dynamic code from a provider on a free trial, then discovering months later that the trial governed how long your printed material kept working. Ask what happens to the code if you stop paying, before you print.
A useful third option
Point a dynamic code at a bio page rather than at a single destination. Now you have two levels of flexibility: you can repoint the code, and you can edit the page without touching the code at all. A restaurant code that opens a page holding the menu, the booking link and the playlist survives every change either of them will ever need.
Five dynamic codes are included free, with scans counted and destinations you can change whenever you like.