Creator Guide

A QR Code That Still Scans After Printing

A pre-print checklist for payload length, contrast, quiet space, physical size, error correction and real-device testing.

Written and tested by ToolNoova • • 7 min read First published 2026-10-04
Short answer

Keep the payload short, use a dark code on a light solid background, preserve the empty border, export at adequate resolution and test the final printed sample from the distance and angle people will actually use.

Start with the shortest useful payload

More data requires more modules—the small light and dark squares that form the code. A dense code gives a camera less tolerance when the print is small, blurred, curved or viewed from far away. For a website, use the final HTTPS URL and remove unnecessary tracking parameters unless they serve a real measurement need.

A QR code does not confirm that a destination is safe. Print the readable destination near the code where appropriate, keep the domain under your control and plan how old printed materials will behave if a page moves.

Use contrast before decoration

The safest pattern is a very dark foreground on a plain light background. Similar colours, gradients, transparent overlays and busy photographs can make the boundary between modules unclear. Reversing the colours may fail in readers that expect a dark pattern on a light field.

A numerical contrast check is a useful warning, not a scan guarantee. Print material, lighting, camera exposure, glare and ink spread affect the physical result in ways a browser preview cannot simulate.

Do not crop the quiet zone

The clear border around a QR code separates it from neighbouring text and graphics. Do not trim it away to make the visible squares larger. Avoid placing borders, logos or decorative marks inside that space. ToolNoova exports a margin around the generated symbol; preserve it when placing the image in a design.

There is no universal minimum print size

The required physical size depends on how dense the symbol is, the printer, the surface, the expected scanning distance and the camera. A code on a business card and a code on a wall sign have different requirements. Vector SVG output is useful for design software because it scales without turning square edges into blurred pixels.

Do not enlarge a tiny raster screenshot and assume it became high resolution. Export the intended PNG size or use SVG, then check that the design application has not compressed, resampled or softened it.

Choose error correction deliberately

QR codes can restore some damaged data. DENSO WAVE documents four levels: L, M, Q and H. Higher levels add recovery capability but also require more codewords, which can make the symbol denser for the same payload. Level M is a common starting point; a harsher or dirtier environment may justify Q or H after testing.

Error correction is not permission to cover the centre with a large logo. Whether a modified code scans depends on which modules were obscured, the data density, the correction level and the reader. An unmodified, high-contrast code is the safer choice.

LevelApproximate restoration capacity documented by DENSO WAVEPractical note
LAbout 7%More capacity; use in a clean, controlled setting
MAbout 15%Common general-purpose starting point
QAbout 25%More resilience with a denser result
HAbout 30%Highest listed recovery; test size and density carefully

The final print test

  1. Generate the exact production payload.
  2. Download SVG for layout work or a suitably large PNG.
  3. Place it without cropping or recolouring it in the design application.
  4. Print one sample using the real material and printer settings.
  5. Test with several ordinary iOS and Android devices—not only the phone that generated it.
  6. Scan at the expected distance, off-centre and in representative lighting.
  7. Confirm the displayed destination before opening it.
  8. Repeat after the final export or print vendor proof; a working draft does not validate the production file.

Primary references