All guides

Printing QR Codes: Size, Contrast and Quiet Zone

Published: 2026-08-31 · Updated: 2026-08-31

A QR code that scans perfectly on screen can fail on paper. Print introduces three things a screen does not: physical size, ink and paper behaviour, and the distance between the code and the camera. Plan for all three.

1. Size

A practical rule: the code should be at least one tenth of the scanning distance. A code scanned from 30 cm should be 3 cm wide; a poster scanned from 2 m should be 20 cm wide. Independent of distance, do not go below 2 cm for short URLs or 3 cm for dense codes such as vCards.

2. Quiet zone

Keep the blank margin of four modules around the code. Designers often crop it to make the code “fit” — that is the single most common reason printed codes fail. If your layout has a colored background, the quiet zone must be the same light color as the code background, not the layout color.

3. Contrast and color

  • Dark modules on a light background. Never invert (light modules on dark) — many scanners cannot read it.
  • Aim for a contrast ratio of at least 3:1; 4.5:1 or higher is safer. The generator warns you when it is low.
  • Avoid red-on-white and yellow: cameras see them as light colors.
  • Glossy paper and metallic ink cause reflections; matte finishes scan more reliably.

4. Resolution and format

Use SVG whenever your printing workflow accepts it — it is resolution-independent. If you must use PNG, download at least 1024 px and place it at or below its native size. Never scale a 256 px PNG up to a poster.

5. Error correction

M is fine for indoor cards and flyers. Use Q or H for anything that will be outdoors, handled a lot, or laminated (lamination can add glare and small distortions).

Pre-print checklist

  1. Print a proof at the final size on the final paper.
  2. Scan it with an iPhone and an Android phone, from the intended distance, under the intended lighting.
  3. Check the quiet zone is intact in the layout file.
  4. Confirm the encoded URL or details are correct — a printed typo is permanent.
Related toolTry the generator