Everyone has been there: the QR Code looked great in the design, went to the print shop, came back printed — and simply won't scan. The phone points, tries, gives up. The problem is rarely the QR itself. It's almost always a combination of wrong size, glossy finish that reflects light, insufficient contrast, or surface curvature that distorts the code's cells.

Before sending any file to the printer, you need to understand four things: what material will receive the QR, what distance the customer will scan from, what file format to export, and whether the QR is dynamic or static. These four points determine whether the code will work in real life — or just decorate the wall without ever being scanned.

Before Printing

🔁 Always Use a Dynamic QR

A static QR encodes the final URL inside the code. If the URL changes, the QR dies with it — and you need to reprint everything.

A dynamic QR stores only a short link (like code2scan.com/q/abc). The destination lives on the server and you can change it whenever you want, without touching the printed artwork. For stickers or vinyl — materials stuck on walls, products, and surfaces that last months — dynamic is not optional, it's essential.

Direct benefits for those who print:

  • Short URL = simpler QR (fewer cells, easier to read, tolerant of smudging).
  • Wrong destination? Fix it online without throwing away the material.
  • Tracking: you know how many people scanned, when, and from where.

✅ Test Before Sending to the Print Shop

Generate the QR, print a copy on a home printer (or view it at 100% on the monitor) and test with at least three phones — an iPhone, a good Android, and a mid-range Android. Test in normal ambient light and in low light. If it passes those three, you can safely send it to the printer.

Size and Quiet Zone

📏 The Distance Rule

The rule that works:

QR size = reading distance ÷ 10

Sticker on a counter (reading at 30 cm) → QR of 3 cm. Sticker on a shop window (reading at 1 m) → 10 cm. Vinyl on a storefront (reading at 3 m) → 30 cm.

These are the minimums. For safety in poor lighting conditions, use 1.5× the calculated value. See the full size table by use case.

🔲 Quiet Zone (White Border)

Every QR requires a white border around it — called the quiet zone. Without it, the scanner cannot find where the code begins and ends.

  • Minimum: 4 white cells on each side.
  • In practice: reserve at least 10% of the total QR size on each edge.
  • Never cut the margin to "save space" in the layout.

If the sticker background is not white, include a white rectangle behind the QR to serve as the quiet zone.

Material and Finish

🏷️ Matte vs Glossy Sticker

Finish Readability When to use
Matte Excellent Almost always — first choice
Semi-gloss Good Indoors, controlled light
Gloss Poor Avoid when possible
Glossy laminate Very poor Never over the QR

A glossy finish creates glare. The phone camera captures the light reflection instead of the QR cells, and reading fails. If the design requires gloss, apply matte lamination only over the QR area — the print shop can do this.

🎨 Adhesive Vinyl

Vinyl is durable, but has its pitfalls:

  • White or silver vinyl reflects a lot in direct light. Prefer a QR in a matte area or with matte lamination over the code.
  • Colored vinyl can break contrast: black QR on dark-blue vinyl does not work. Always: dark modules, light background.
  • Perforated vinyl (used on shop window glass) reduces the actual area of the QR. Increase the size by at least 30% and test on the physical material.

🍾 Curved Surfaces (Bottles, Cups, Cans)

Curvature is one of the biggest enemies of printed QR. The code distorts as the surface curves, and the scanner loses the geometric reference.

Rules for curved surfaces:

  • Up to 30° of curvature: OK if the QR is in the flattest area.
  • Above 30°: reduce the QR size (a smaller code distorts less), increase the error correction level to H (30%) when generating, and test on the real object — not just on screen.
  • Bottle or cup: prefer a QR of at most 2–3 cm in the flat band of the label. See QR on product packaging.

🎨 Color Contrast

Black QR on white background is the ideal. But you can customize with colors — as long as the contrast is high.

  • Works: navy blue on light yellow, dark green on white, red on beige.
  • Does not work: orange on red, purple on blue, any dark color on another dark color.
  • Inverted (light QR on dark background): only if the generator exports it correctly — some older scanners fail.

If you plan to use a logo or custom color, see the guide for QR Code with custom logo so you don't break readability.

File Format

📁 Vector or High Resolution — No Exceptions

Never export a QR as JPEG or low-resolution PNG for printing. JPEG's compression algorithm blurs cell edges and creates artifacts that confuse the scanner.

Correct formats:

Format When to use
SVG First choice — infinite scale, lossless
PDF Large print shops prefer it — embedded vector
PNG Acceptable if ≥ 1000 × 1000 px for small prints; ≥ 3000 px for banners
JPEG Never for QR Code

🖨️ Step by Step: Export and Test

  1. Generate the QR at /en/qr-code-generator or at /en/dynamic-qr-code (dynamic).
  2. Export as SVG (or PDF). If the print shop asks for rasterized, export PNG at 300 DPI at the final print size.
  3. Open the file and confirm the cells are sharp, with no blurring or pixelation.
  4. Include the quiet zone in the exported file — don't rely on the print shop's layout.
  5. Print 1 test copy on a home printer or request a digital/physical proof from the print shop.
  6. Scan with 3 phones under real conditions: ambient light, low light, lateral angle.
  7. Approved? Release the full print run.

If it is a QR Code in PDF (catalogue, manual), export the QR separately as SVG and insert it into the document — don't take a screenshot from the screen.

Common Mistakes

❌ Exporting as JPEG and Sending to the Print Shop

JPEG compresses edges. The QR cells get a grey "halo." In small prints, the scanner cannot distinguish a black cell from the white background.

Correct: SVG or PNG at 300 DPI at the actual print size.

❌ Glossy Lamination Over the QR

Overall gloss lamination on the entire sticker goes straight over the QR. Result: total glare, zero readability.

Correct: request matte lamination only on the code area, or matte lamination over all the material.

❌ Testing Only on a Computer Screen

The screen has backlighting and very high resolution. The QR looks great on the monitor and breaks in print.

Correct: always test printed, on the final material, under ambient light.

❌ Using a Static QR on Material That Will Be Reprinted

If you need to change the URL in the future, you will reprint everything. Common QR Code mistakes — static QR on durable material is on the list.

Correct: Dynamic QR — change the destination without touching the artwork.

❌ Cutting the Quiet Zone to "Fit" the Layout

The scanner needs the white border to find the QR. Without it, it fails even if the code itself is perfect.

Correct: reserve space in the layout. If necessary, add a white rectangle behind the QR.

❌ QR on Perforated Vinyl Without Size Adjustment

Perforated vinyl removes ~30–40% of the visible area. A 5 cm QR effectively becomes a 3 cm QR with holes — and fails.

Correct: increase the QR by 30–40% and test on the real material.

Summary

  1. Use dynamic QR: short URL = simpler code, editable destination, no risk of reprinting.
  2. Size = distance ÷ 10: calculate for the real scanning scenario.
  3. Quiet zone: never cut the white border around the code.
  4. Matte finish: gloss reflects light and kills readability — matte lamination over the QR.
  5. Vinyl and curved surfaces: increase the QR, use error correction level H, test on the real object.
  6. High contrast: dark modules on light background — don't skimp on contrast.
  7. Vector format: SVG or PDF for the print shop; PNG only at high resolution.
  8. Test printed: 3 phones, ambient light and low light, before releasing the print run.

Create a print-ready dynamic QR Code — with short URL, editable destination, and scan tracking.