Change the destination, keep the print run
A dynamic code encodes a short T-Forward route, not your destination. Point it somewhere new whenever you like and every poster, label and business card already in the world follows along.
Design a code that looks like it belongs to your brand, check it will actually scan before you print it, and — if you want — change where it points long after the ink is dry.
Four of the built-in presets. Every one of these scans — try it.
Pick what it carries, style it however you like, and download it. No account needed for static codes.
A dynamic code encodes a short T-Forward route instead of your destination, so you can point it somewhere new after it is printed — and see how many times it has been scanned. The route has to belong to an account, which is why this one needs a sign-in.
The other seven code types on this page are free, unwatermarked and need no account at all.
Design control that matches the dedicated generators, plus the dynamic routing and analytics they charge for.
A dynamic code encodes a short T-Forward route, not your destination. Point it somewhere new whenever you like and every poster, label and business card already in the world follows along.
Every scan is counted against the code that produced it, so you can tell the window decal from the flyer from the trade-show banner instead of guessing which one earned its place.
Thirteen module shapes, separate inner and outer eye styles, gradients in five directions, independently coloured eyes and a centre logo. Every change previews instantly as you make it.
Contrast, quiet zone, logo footprint against error-correction headroom — checked live and explained in plain language. You find out a design is risky on screen, not after a thousand copies.
Download PNG up to 4096 px for signage, or SVG that scales to a building wrap without a soft edge. Both come out of the same renderer that drew your preview, so nothing shifts.
Text, WiFi, contact cards, email, SMS and phone numbers encode straight into the pattern. No server, no connection, no expiry — they work in a basement, on a trail, at 30,000 feet.
A dynamic link you can redirect later, or a static payload — a message, a WiFi network, a contact card — encoded directly into the pattern.
Start from an Alpine preset or build it up: module shape, eye styles, gradient, colours, your logo in the centre. The preview keeps pace with every change.
Take the PNG for screens or the SVG for print. Dynamic codes keep counting scans and can be re-pointed from your dashboard any time.
Both are free here. The right answer depends on whether the destination will ever need to change.
The content lives inside the printed pattern. Nothing to maintain, nothing to depend on.
The pattern encodes a short route you control, so the destination stays editable for the life of the print run.
One code on the table; swap the destination when the menu changes for the season.
Conditions, closures and maps that update without anyone driving out to replace a sign.
Assembly steps or allergen details printed once, kept current for the life of the product.
A framed card that joins guests to the network without reciting a password out loud.
A contact card that lands in the phone properly instead of being typed in wrong.
Separate codes per banner so you can see which placement actually pulled people in.
Listing details on the board; re-point the code to the next property when it sells.
Extended captions on a small label, readable with no gallery wifi and no app.
A static code carries its content inside the pattern itself. Scan it and the message, address or network details come straight out of the printed image — no server involved, no connection needed, and nothing that can expire. The trade-off is that the content is fixed at the moment you generate it. Reaching a different destination means printing a different code.
A dynamic code encodes a short T-Forward route instead. When someone scans it, they arrive here for a fraction of a second and get forwarded to wherever that route currently points. Because the printed pattern never changes, you can redirect it as often as you like — and because every scan passes through, they can be counted.
Not to generate and download. Every static type — text, URL, WiFi, contact cards, email, SMS and phone — is free to create, style and download here with no account, no watermark and no limit on how you use the result.
An account is what makes a code dynamic: a saved library, scan counts, and the ability to change a destination after printing. Those need somewhere to store the route, which is what the account provides.
Not if the error correction has room for it. QR codes are built with redundancy — at the High setting roughly 30% of the pattern can be obscured and the code still reads. A centre logo takes up part of that budget.
The readability panel does this arithmetic as you work. It compares the area your logo covers against the headroom your correction level provides and tells you when you are getting close to the edge, so you can shrink the logo or raise the correction level before you print rather than after.
Two centimetres square is a sensible floor for a simple code scanned at arm's length, and bigger is always safer. The real constraint is the size of a single module — the smallest square in the pattern — which needs to survive your printing process and your scanner's focus distance.
Two things push the minimum up: a long payload, which packs more modules into the same square, and a decorative module shape like dots or stars, which covers less area than a plain square. If you use either, give the code more room and test the actual print before committing to a run.
Scan the finished artwork with more than one phone, ideally one iPhone and one Android, and at the distance people will really use it. Test in poor light as well as good. If the code will be behind glass or laminate, test it through that surface, because reflections defeat more codes than bad design does.
Keep the quiet zone — the clear border around the pattern — at four modules or more. Crowding a code with other artwork is the single most common reason a design that looked fine on screen fails on paper.
Many modern scanners handle inverted codes, but plenty of older ones do not, and you rarely know what your audience is carrying. The safe arrangement is a dark pattern on a light background with strong contrast between them. The readability panel flags an inverted design and low contrast as you build.
Static codes are yours outright — they contain no reference to T-Forward at all, so they keep working forever regardless of what happens here.
Dynamic codes depend on the redirect route staying available, which is the nature of any dynamic QR service. If a code needs to keep working with no ongoing dependency, generate it as a static code.
The format allows up to 4,296 alphanumeric characters at the largest version, but that is a technical ceiling rather than a practical target. Long content produces a dense pattern of small modules that needs a larger print and a better scanner.
Under 300 characters keeps a code comfortable. Past about 1,000, consider whether a dynamic link to a web page would serve your reader better than a wall of text on a phone screen.
An account turns any design in the studio into a dynamic code — editable destination, scan counts, and a library you can come back to.