Skip to main content

How to print a QR code that scans

Most printed codes that fail do so for one of four reasons: the margin was cropped, the code was scaled down past the printer's resolution, the contrast was inverted or too low, or the artwork was a small raster image stretched to fit. Each of those is avoidable before anything goes to press.

Summary

  • Keep four empty modules of margin on every side. It is part of the code, not decoration.
  • Decide the finished width first, then check the geometry with the size calculator.
  • Send vector (SVG) to a print shop. Use PNG only at a whole number of pixels per module.
  • Dark code on a light background, with real contrast. Never invert unless you have tested it.
  • Print one proof at final size, on the real material, and scan it with an old phone.

1. Start from the space you have

A QR symbol of version n is 17 + 4n modules across, and the printed square adds four modules of quiet zone on each side. Module size in millimetres is 25.4 × dots per module ÷ DPI. On a 400 DPI label printer with four dots per module, a version 3 code measures 9.398 mm including the margin — small, but every module is four whole dots. The same code at one dot per module would be 2.35 mm and effectively unreadable in print.

If you already know the width you must fit, the print resolution calculator works backwards and gives you the raster to export.

2. Keep the content short

Version is driven by data length and error correction level, not by a quality slider. A long tracking URL with five campaign parameters can push a code from version 3 to version 8, which is 49 modules — at the same printed width each module is nearly half the size. Shortening the destination is usually the cheapest way to make a small label work.

3. Error correction is about codewords, not logo area

The published restoration levels — about 7% (L), 15% (M), 25% (Q) and 30% (H) — describe the proportion of codewords a reader can restore. They are not a licence to cover 30% of the printed square with a logo. A centred logo eats into that budget, and so does dirt, glare and a crease. Our generator raises the level when you add a logo and keeps the quiet zone clear, but the printed sample is still the test that counts.

4. Pick the right export

FormatWhat it isBest for
SVGTrue vector artworkAnything a print shop or designer handles; scales to any size
PNGRaster, smoothing disabledScreens, slides, and print when exported at whole pixels per module
PDFA high-resolution raster image placed on your chosen paper sizePrinting the sheet yourself at a fixed physical size

That PDF distinction matters: our PDF export is not vector artwork inside a PDF wrapper. It is a high-resolution image sized to the page. For unlimited scaling, use the SVG.

5. Contrast and colour

Readers expect dark modules on a light background. Coloured codes can work when the dark colour is genuinely dark and the background genuinely light, but the margin for error shrinks. Avoid printing on a photograph, on glossy stock under a spotlight, or across a fold. On a curved surface such as a bottle, keep the code small enough that the whole symbol sits on a nearly flat area.

6. Test a proof, and say what you tested

Our own testing method is straightforward and we describe it exactly: every export format is decoded again by the scanner built into this site, at the smallest, default and largest logo settings. That is software reading software on a screen. It tells you the artwork is well-formed; it does not tell you your thermal printer at 203 DPI on matte polypropylene will produce a readable label. Print one, scan it with the oldest phone in the building, then order the batch. You can decode your own proof with our scanner.

Related

Create a QR code · Label maker for A4 sheets and thermal rolls · Static vs dynamic QR codes · Size calculator