ShibaQR

Print-Ready QR Codes: SVG, DPI, Quiet Zone and Ink

How to hand a QR code to a printer so it comes back scannable — which file format, what resolution, how to specify the black, and what to keep away from the trim edge.

4 min read

A QR code that works on screen can still fail on paper. Screens are backlit, perfectly square and infinitely sharp; paper is none of those. These are the decisions that matter between export and press.

Use SVG, not PNG

An SVG is vector: it describes the squares as shapes, so it prints at exactly the resolution of the press, whether that is a business card or a billboard. Every module edge lands on a crisp boundary.

A PNG is a grid of pixels. Scaled up, those pixels become visible steps on the module edges, and a scanner reading a stepped edge has to guess where the module ends.

Rule: SVG for anything printed. PNG for anything on a screen. JPEG for nothing, ever — its compression blurs exactly the hard edges a QR code is made of.

If you must send a PNG

Some print shops will only take raster files. In that case, export at at least 300 DPI at the final printed size, and prefer 600.

Printed size 300 DPI 600 DPI
2 cm 236 px 472 px
3 cm 354 px 709 px
5 cm 591 px 1,181 px
10 cm 1,181 px 2,362 px

Exporting larger than you need costs nothing. Exporting smaller and letting the layout stretch it is how codes end up blurry.

Specify the black properly

This is the step most people skip, and it is the one printers notice.

In four-colour process printing, a "rich black" mixes cyan, magenta, yellow and black to get a deeper tone. It looks better for large areas of solid colour. For a QR code it is a mistake: four plates have to line up perfectly, and any misregistration — even a fraction of a millimetre — leaves coloured fringes along every module edge. Those fringes are exactly what confuses a scanner.

Specify 100% K and nothing else. One plate, one impression, no registration error. Tell your printer explicitly; design files often default to rich black.

The same logic applies to brand colours. A spot colour is fine. A module edge built from three overlapping plates is not.

Protect the quiet zone from the trim

The four-module clear margin has to survive the cut. Printing tolerances are typically ±1–2 mm, so a code sitting right against the trim line can lose part of its quiet zone — or part of a corner finder square — on the guillotine.

Keep at least 5 mm between the edge of the quiet zone and the trim edge, and more on folded pieces: never let a fold run through a code or its margin.

Choose the stock with scanning in mind

  • Matte beats gloss. A gloss or UV laminate reflects overhead lighting straight into the camera, and the glare wipes out whole rows of modules. If the piece must be laminated, go matte and make the code larger.
  • Uncoated absorbs ink. On uncoated or recycled stock, ink spreads slightly into the fibres — dot gain — and module edges soften. Compensate with a larger code, not a darker one.
  • Avoid dark or textured stock. A code printed in white ink on dark card is an inverted code, which many scanners refuse. If the design demands a dark background, put the code inside a white panel.

Proof it before the run

Print one at final size, on the final stock, from the final file. Mount it where it will live — table, window, wall — and scan it under the lighting it will actually have, with two or three different phones.

Five minutes of proofing is cheaper than five thousand flyers that do not scan. And if it fails, work down the ten causes rather than guessing.

Tools used in this guide

Read next

All guides →