Best Practices for Creating Print-Ready QR Codes

QR code printed on a business card and poster with measurement guides showing size and quiet zone margins

Getting a QR code onto a screen takes about thirty seconds. Getting one onto a printed business card, event poster, or product label that actually scans reliably — every time, on any phone — is a different problem entirely. The technical rules are not complicated, but if you skip even one of them, you end up with a QR code that looks fine in the design file and fails completely in the real world.

This guide covers every factor that affects scan reliability in print: minimum physical size, quiet zone margins, colour contrast ratios, error correction levels, and the right file formats. Follow these guidelines and your printed QR codes will work consistently from the first print run to the last.

Understanding QR Code Structure

A QR code is built from a grid of small dark and light squares called modules. The arrangement of those modules is what encodes your data — a URL, a phone number, plain text, or anything else. Three large square patterns in the three corners of the code (called finder patterns) let your phone's camera orient itself and identify where the code starts and ends. Surrounding the entire code is a clear border of empty space called the quiet zone, which separates the QR code from everything else on the page.

Any factor that reduces the sharpness of the modules, cuts into the quiet zone, or drops the contrast between dark and light areas will make the code harder or impossible to scan. Understanding this helps you make smart decisions about every step from design to print.

Minimum Size for Print

The single most common reason a printed QR code fails to scan is that it is too small. A module that is a fraction of a millimetre wide cannot be reliably resolved by a phone camera, especially when there is any camera shake or slight print blur involved. The minimum size you should use depends on how far away users will be when they scan:

  • Business card / very close range (10–15 cm) — minimum 2.5 cm × 2.5 cm (roughly 1 inch × 1 inch)
  • Brochure or desk pickup (30–50 cm) — minimum 3–4 cm × 3–4 cm
  • Poster on a wall (50 cm – 1 metre) — minimum 5–8 cm × 5–8 cm
  • Large format banner or exhibition stand (1–3 metres) — minimum 15–20 cm × 15–20 cm
  • Outdoor billboard (over 3 metres) — minimum 30–40 cm × 30–40 cm

A practical rule of thumb: the QR code width should be at least one-tenth of the expected scanning distance. At 1 metre, aim for at least 10 cm. When you are unsure, go bigger — a larger QR code never caused a scan failure, but a smaller one frequently does.

The Quiet Zone: The Clear Border You Cannot Skip

Every QR code specification requires a quiet zone — a completely clear margin of white space around all four sides of the code. The ISO standard sets the minimum quiet zone at four modules wide on every side. In real-world print measurements, that typically means at least 4–5 mm of clear white space around the entire QR code.

  • Never place text, logos, decorative borders, or any other design element inside the quiet zone
  • Never bleed the QR code to the edge of a business card, label, or printed sheet
  • Never reduce the quiet zone to fit more content on the page — even a 1 mm encroachment on one side can cause edge-module scan failures

If your design is tight on space, reduce the surrounding content — not the quiet zone. The quiet zone is what tells the phone camera where the QR code ends and the rest of the design begins. Without it, scanning becomes unreliable or impossible.

Annotated diagram of a QR code showing the minimum 4 mm quiet zone margin required on all four sides with dimension arrows indicating the clear border measurement

Colour and Contrast

Black modules on a white background is the safest and most compatible QR code colour combination. It works on every device, in every lighting condition, and on every paper stock. Coloured QR codes are possible, but they require strict contrast discipline. The rules are straightforward:

  • The dark modules must be significantly darker than the light background. The minimum safe contrast ratio is 4:1. Black on white sits at 21:1 — the maximum. Dark navy or dark grey on white also works well. Yellow on white (around 1.1:1) will fail.
  • Always keep modules darker than the background. Inverted QR codes — light modules on a dark background — scan on modern phones but fail on older QR reader apps and some industrial scanners. Avoid inversion unless you have tested it thoroughly.
  • Skip low-contrast colour pairs entirely. Yellow on white, light blue on white, pale grey on white — any combination where the two tones look similar under bright light will cause scan failures in real conditions.
  • Gradient backgrounds create uneven contrast. A gradient that shifts from dark to light behind a QR code will have insufficient contrast at the light end. If you must use a gradient, ensure the darkest area of the gradient has at least 4:1 contrast against the module colour.

When using Rekreay's QR Code Generator, choose a foreground colour that is clearly darker than your background. Deep blue (#003087), black (#000000), and dark charcoal (#333333) on white are all safe choices. After generating a coloured code, always test it on at least two different phones before sending to print. Below is the screenshot of Rekreay's QR Code Generator.

Annotated diagram of a QR code showing the minimum 4 mm quiet zone margin required on all four sides with dimension arrows indicating the clear border measurement

Error Correction Level

Every QR code contains built-in redundancy that allows it to scan successfully even when part of the code is physically damaged, obscured, or printed imperfectly. This is controlled by the error correction level, and choosing the right level for your use case makes a meaningful difference in real-world scan reliability.

  • Level L (Low) — 7% damage recovery: The simplest code. Fewest modules, smallest physical footprint for a given data payload. Use only for controlled indoor environments where the code will never be physically damaged.
  • Level M (Medium) — 15% damage recovery: The best general-purpose choice for most printed materials. Business cards, brochures, and indoor signage all benefit from Level M without making the code unnecessarily dense.
  • Level Q (Quartile) — 25% damage recovery: The right choice when you plan to add a logo or icon overlay on top of the QR code. The overlay obscures a portion of the code, and Level Q provides enough redundancy to absorb it reliably.
  • Level H (High) — 30% damage recovery: Best for outdoor applications, product packaging, industrial labels, or anywhere the code may be scratched, wet, or partially worn away over time. Produces the densest, most complex code — requires a larger print size to remain scannable.

For indoor printed materials like business cards, brochures, and event programmes, Level M is the right default. Move to Level Q or H when the code will be exposed to physical wear, outdoor conditions, or when you are placing a logo overlay on top.

Visual comparison of four QR codes side by side at error correction levels L (7% recovery), M (15% recovery), Q (25% recovery), and H (30% recovery) showing increasing module density with a logo overlay shown on the H-level code

File Format for Print

The file format you export your QR code in determines whether it stays sharp at every print size or turns into a blurry smear the moment it is scaled up. The rule is simple: use vector formats for print, raster formats only for small-size digital use.

Vector files — SVG and PDF — contain the QR code as mathematical shapes, so they scale to any size without any loss of sharpness. A QR code saved as an SVG will look exactly as crisp at 40 cm on a banner as it does at 2.5 cm on a business card. This is the format your print provider needs for anything larger than A6 size.

Raster files — PNG, JPG, WebP — store the image as fixed pixels. A 600 × 600 px PNG exported from your QR generator looks fine on screen and prints well at small sizes. But enlarge it to poster dimensions and each module becomes a visible block of blurry pixels, which directly causes scan failures. Use high-resolution PNG only for business cards, small labels, and digital display.

For large-format print, always ask your print provider for their required resolution and supply the file at twice that figure as a safety buffer. For everything else, supply SVG or PDF and let the printer handle the output size.

Testing Before Printing

No QR code should go to a commercial print run without being tested on a physical printed copy first. This sounds obvious, but it is the step that gets skipped most often — and the one that catches the most problems. Here is the exact process to follow:

  1. Print a test copy on a standard office inkjet or laser printer at the exact intended size. Do not print at a different size and assume it will scale correctly.
  2. Scan the printed test with at least three devices: an iPhone using the native camera, an Android phone using the native camera, and one dedicated QR scanning app such as QR & Barcode Scanner.
  3. Scan from the expected real-world distance — not by holding the phone 5 cm from the code. If it is a poster, scan from 1 metre. If it is a business card, scan from 15–20 cm.
  4. Test under the actual lighting conditions where the material will be used. Office fluorescent lighting, warm retail lighting, and direct sunlight all affect how a camera resolves contrast.
  5. If the code uses custom colours, a logo overlay, or an unusual background, test on five devices minimum. Styled QR codes have a narrower tolerance for imperfection.

If a single device fails to scan during testing, treat it as a failure and investigate. A QR code that works on four out of five phones will frustrate one in five people who tries to use it.

Common Print QR Code Mistakes

  • Too small for the scanning distance — the most common cause of print QR code failure. Every millimetre matters at small sizes. When in doubt, go 20% bigger than you think you need.
  • Quiet zone violations — a text caption, a decorative line, or a card edge encroaching even 1–2 mm into the quiet zone is enough to cause edge-module failures. Always measure the clear space, do not estimate it visually.
  • Insufficient colour contrast — what looks high-contrast on a monitor may be borderline on paper due to ink absorption and paper tone. Always print and check, not just screen-check.
  • Exporting as PNG for large-format print — a 600 px raster file printed at 50 cm will be severely pixelated. Use SVG or PDF for anything beyond A6 size.
  • Skipping the physical print test — a QR code that looks perfect in a PDF proof can still fail when printed due to ink spread, paper texture, or lamination glare. There is no substitute for a real printed test.
  • Encoding a long URL directly — longer URLs produce denser, more complex QR codes that require larger print sizes to scan reliably. Shorten your URLs first, then generate the QR code.

Further Reading

Related Articles

Final Thoughts

A printed QR code is a promise to the person holding your business card, flyer, or packaging — that scanning it will work, first time, every time. Breaking that promise because the code was 2 mm too small or the quiet zone was 1 mm short is entirely avoidable. Size it correctly for the distance, protect the quiet zone, choose the right error correction level, export as a vector file, and test on a real printed copy before you commit to a full print run.

Start with Rekreay's free QR Code Generator — generate at maximum resolution, download as PNG for small print or request SVG for large format, and test before you print.