Change the destination without changing the print
A dynamic QR code encodes a short link on a domain QrZeo controls, not the address you actually want people to reach. Scanning it hits that link, which redirects to wherever you have currently pointed it. The consequence is the whole product: the black squares on your poster never have to change, because they never encoded the destination in the first place.
That turns a printed code from a commitment into a switch. A packaging run pressed six months before launch can point at a teaser page today, a product page at launch and a support article a year later. A restaurant reprints menus seasonally without reprinting a single table code. And when something goes wrong — a broken link, a page that moved — the fix takes seconds instead of a print run.
24 types, each with the form it actually needs
Underneath, every QR code is just encoded text — but the text has to follow the right format for a phone to do anything useful with it. A Wi-Fi code needs a specific WIFI: syntax with escaped delimiters. A contact card needs valid vCard structure. Getting a semicolon wrong produces a code that scans perfectly and then does nothing.
QrZeo gives each type its own form and assembles the payload correctly underneath. Wi-Fi asks for network name, security mode and whether the network is hidden. vCard asks for job title and organisation. Phone, SMS and email get the right URI scheme prefixed automatically. You fill in fields; the encoding is not your problem.
Find out which poster actually worked
Because every scan of a dynamic code passes through the redirect first, QrZeo can count it. You get a daily trend over 7, 30 or 90 days rather than a lifetime total, so a code that stopped being scanned three weeks ago is visible instead of buried, plus device and country breakdowns on every code.
The practical move is one code per placement. Same campaign, same destination, a different code on the poster, the flyer and the packaging — and the question of which one earned the response stops being a debate. iOS versus Android tells you which app-store link to lead with; country tells you which market to translate for next.
Style it without breaking it
A QR code has real tolerance for decoration, and a real point past which it stops scanning. QrZeo works inside that tolerance rather than leaving you to find the edge in production: square, rounded or dot modules, any foreground and background colour, and an optional logo badge in the centre.
The guardrails matter more than the options. Switching on the centre badge raises the error-correction level automatically, because the badge covers data the code then has to reconstruct. Inverting the contrast to light-on-dark is not offered at all — many phone cameras refuse to read it, and that is not something you want to discover after ten thousand impressions have been printed.
Ten thousand codes, each with its own destination
Making one QR code is a solved problem. Making one per table, per asset, per order — and keeping every destination correct afterwards — is where free tools and spreadsheets give up. QrZeo handles that case directly.
Upload a CSV with one row per code and get back a set that is already named, foldered and pointing at the right place. Or create codes through the REST API as part of a flow you already run, and get SVG and PNG URLs in the response ready to drop into a print template. Re-pointing works in bulk too: update a whole folder in one call when the season changes.
Host the file, swap it whenever you like
When a code should open a PDF menu, a warranty document or a product video, the file has to live somewhere. Hosting it yourself means the code depends on a URL you have to keep stable forever — which is the same trap as a static code, one layer up.
Upload the file to QrZeo instead and point as many codes at it as you want. Replacing the file updates every one of them at once, so a seasonal menu changes across two hundred table codes without touching a single printed card. Deleting a file tells you how many codes reference it before it does anything irreversible.
Two hundred codes, still findable
Volume is where QR tools usually fall apart. A flat list of names like "qr-final-v3" is not a system, and by the time it matters you have codes in print that nobody can identify.
QrZeo gives each code one folder and any number of tags, with filtering across both plus type, mode and status. Crucially, organising is never destructive: deleting a folder unfiles its codes rather than deleting them, and renaming a tag rewrites it everywhere it appears. Tidying up should never take a printed code offline.
Safe to hand to the rest of the team
A dynamic QR code is a live redirect on something already in print. Giving five people the ability to change where it points deserves the same care as handing over DNS, which is why permissions here are enforced on the server for every request rather than hidden in the interface.
Roles map to what people actually do: editors create and re-point codes, viewers read analytics and nothing else, and billing stays with owners. Separate workspaces keep client work, internal codes and side projects apart, each with their own members, folders, storage and API keys.
