How to print a QR code
Almost every QR code that fails in the wild was fine as a file. It failed because it was printed too small for the distance, laminated in gloss under a spotlight, stretched to fit a box, or cropped tight to the pattern. The encoding is a solved problem; the printing is where the decisions are.
There are five things to get right - size, file format, quiet zone, contrast and finish - and one test to run afterwards. None of them is difficult, and all of them are cheaper to fix before the run than after it.
Paste or type any address. If you leave off https:// we add it for you.
Your QR code appears here
Start typing and it updates as you go.
PNG is 2048px. SVG scales to any size, which is what print wants.
Design
The empty border around the code. 4 is the standard.
Recovers about 15% damage. The usual choice.
Step by step
Work out the scanning distance first
Everything else follows from it. A menu is read at 40 cm, a noticeboard poster at 1 m, a shop window at 2 m, a wall sign at 5 m. Be honest about where the person will actually be standing, not where you would like them to stand.
Size at roughly one tenth of that distance
Ten to one is the working rule: 2 to 3 cm for arm length, 10 cm for a metre, 20 cm for two metres, and something enormous for a billboard read from 30 m. It is a floor rather than a target - going larger never hurts. Add the margin on top; the numbers above are the pattern itself.
Download the SVG for anything printed
SVG is vector, which means it is drawn as shapes and has no resolution to run out of, so it stays perfectly sharp at 2 cm or at 2 m. Give the SVG to the printer. The PNG here is 2,048 pixels square, which is about 300 dpi up to roughly 17 cm across - fine for a flyer, not enough for a sign.
Keep the quiet zone empty
The pale border around the pattern, about four modules wide, is part of the code: decoders use it to find where the pattern begins. It is included in the download. Do not crop to the black squares, do not run a border or a caption into it, and do not place the code so that a fold or a trim edge eats it.
Dark on light, matte, on a plain background
Dark pattern on a light background is what phone cameras expect; inverted codes are refused by many of them. Matte finish beats gloss, because gloss reflects the light source straight back into the lens and the middle of the code turns white. Put the code on a solid panel, never over a photograph or a gradient.
Place it where a phone can be held square to it
Between about 1 m and 1.6 m from the floor for signage, and not across a fold, a seam, a spine or a die-cut. A code wrapped around a curve - a bottle, a lanyard, a cup - distorts the module grid, and a distorted grid is an unreadable code however good the print is.
Print one proof and scan it, then order the run
At final size, on the final material, in the light where it will live, with at least one iPhone and one Android phone. Scan it from the real distance rather than from 20 cm. This is the step that catches ink spread, gloss glare and a size that looked adequate in the layout, and it costs one sheet.
Where this usually goes wrong
Stretching or squashing it to fit a space
A QR code has to stay square. Dragging a corner without holding the aspect ratio turns the square modules into rectangles, and the decoder loses the grid. If the space is not square, change the space.
Scaling a small PNG up
Enlarging a 300-pixel image to fill 20 cm gives soft, feathered edges where the decoder needs hard ones. Use the SVG, or export a PNG large enough for the final size at 300 dpi. Screen resolution is not print resolution.
Gloss lamination, foil and spot varnish
All three send light back into the camera. Under the overhead lights of a restaurant or the sun on a shop window, the reflection can wipe out a third of the pattern. Ask for matte, or for the code area to be left free of varnish.
Inverting the colours to suit the design
A white code on a black background is a legal QR code and many phone cameras will not read it. If the design is dark, put a light panel behind the code. That panel is also the quiet zone, so make it a few millimetres larger than the pattern on every side.