Version 3, 29 by 29 modules. SVG is the one to use for print: it stays sharp at any size, which a PNG will not.
What this does, and what it deliberately does not
The code is built in your browser. The link you type is never sent anywhere, and the image you download is the finished article rather than a watermarked preview of one you have to pay for.
It also generates a static code, which is the important distinction and the one most generators are quiet about.
- A static code contains your URL. Scanning it goes straight to your link. It works forever, because there is nothing in the middle that can stop working. It cannot be edited after printing, because the URL is literally the pattern.
- A dynamic code contains somebody else's URL, which redirects to yours. That is what allows editing and scan tracking, and it is also why the code dies when the subscription lapses or the company folds. Printed on something permanent, that is a real risk rather than a theoretical one.
Which error correction level to pick
Error correction decides how much of the code can be damaged or covered while still reading correctly. More correction means more modules, which means a denser code that has to be printed larger to stay scannable. It is a trade rather than a setting where higher is better.
- Medium for almost everything. It is the default here for that reason.
- High if you are putting a logo over the middle, or printing on something that will be handled, folded or rained on.
- Low only for a screen, where nothing will ever obscure it and the smaller code is worth having.
About logos in the middle
It works, within limits. High correction can lose roughly a third of the symbol and still read, but that budget also covers scuffs, glare and a bad camera angle. Cover about a fifth of the area at most, keep it central, and test the printed version rather than the screen version.
Printing it so it actually scans
- Use the SVG for anything printed. It is resolution independent. A PNG scaled up on a poster gets soft edges, and soft edges are what a scanner struggles with.
- Size it for the reading distance. At least a tenth of the distance people will scan from. A code on a table tent can be small; the same code on a wall across a room cannot.
- Keep the quiet zone. The white margin around the code is part of the specification, not padding, and cropping it in to save space is the most common reason a printed code fails. The downloads here include it already.
- Dark on light, never inverted. Most phone cameras will not read a light-on-dark code, and the ones that do are unreliable about it.
- Avoid gloss and curves. Glare on a laminated menu and the curve of a bottle both defeat codes that scan perfectly flat and matte.
What goes wrong, in order of how often
What this page says, in six lines
- The quiet zone was cropped to make the code fit the layout.
- It was printed too small for the distance people actually stand at.
- It was a dynamic code and the service it redirected through stopped.
- A logo covered too much of the middle, and it was only tested on screen.
- Nobody scanned the printed proof, only the file on the designer’s monitor.
The last one is the one worth building a habit around. Print it, put it where it is going to live, and scan it with an ordinary phone in the light it will actually be in. That single check catches every other item on this list.
If the code is going on something that points at a bio page, the adjacent reading is why nobody is clicking, which is a different problem with the same symptom, and UTM parameters, since a printed code is one of the few traffic sources that carries no referrer at all and has to be tagged if you want to know it worked.
The link behind the code, worth pointing somewhere good
A QR on a poster gets one tap. A page that reorders itself around what people actually click makes that tap count. Free to build.
Keep reading
- Link in bio for InstagramFive link slots, the in-app browser problem, and why your analytics say "direct" when the traffic is obviously Instagram.
- UTM parameters, and the link everybody forgets to tagThe outbound links are the ones worth tagging, and they are the ones everybody skips.
- Why nobody is clicking your link in bioSeparate views from clicks, then work down. Most pages fail at check three, and almost nobody gets that far.
- What is an adaptive link in bio?The category, defined with the mechanism attached and the limits stated. What separates a page that adapts from a page with a chart on it.