Skip to main content
EZQR

Guide

QR Code Best Practices for Print and Digital

A QR code is only useful if people can actually scan it and then convert on the destination. These best practices cover the full lifecycle — design, print substrate, placement, CTA copy, dynamic vs static architecture, vendor selection, and pre-print verification. Skip any of these and the failure mode shows up at the worst moment: customers can't scan, printed assets go dead, or the QR points at the wrong URL after a vendor cancellation. The cost is reprint and reputation; the prevention is following the checklist before the print run ships.

Design: contrast, colors, and quiet zone

Good QR design balances branding with scannability. The gold standard is pure black on pure white at 21:1 contrast — the maximum possible. Brand colors are fine if the dark module color passes 4.5:1 contrast against the background under WCAG criteria. Below 4.5:1, the QR fails intermittently on older phones and in dim lighting.

The safe palette. Black, dark navy, deep teal, forest green, burgundy, charcoal on white or cream. These pass the contrast threshold and read as branded. Pastels (pale blue, soft pink, light yellow) and trendy mid-grays fail. Reverse-printing (light modules on dark background) reduces scan reliability and should be avoided for primary deployments.

Two-color discipline. Stick to one dark module color and one light background color. Multi-color QRs with gradient module fills or split-pattern color schemes are visually striking but fail the scan rate. If brand requires color complexity, restrict it to the surrounding design and keep the QR itself two-color.

Quiet zone. Every QR needs a quiet zone — 4 module widths of solid background around the entire code. The quiet zone is part of the spec, not optional design padding. Without it, the scanner cannot detect where the QR begins and ends. Common quiet-zone violations: cropping flush to surrounding text, allowing brand patterns to bleed into the margin, placing logos at the edge of the QR, or text labels within the quiet zone. Hold the margin at least 1 cm on a 4 cm code (proportional for other sizes).

See the QR color guide for the tested brand-color palette and the no-watermark generators guide for vendors that allow free brand-color customization.

Tips

  • Keep the foreground darker than the background, always — never reverse
  • Maintain a quiet zone of at least 4 module widths on all sides
  • Avoid gradients, textures, and busy backgrounds behind the code
  • Two colors maximum (one dark, one light) — multi-color QRs fail more often

Size: the 10:1 rule and the safety margin

Size depends on scanning distance. The 10:1 rule: code width should be roughly 1/10th of the scanning distance.

The practical minimums by deployment:

  • Business cards (15–30 cm scan distance): 2 cm minimum.
  • Menus and table tents (30–60 cm): 2.5–4 cm.
  • Receipts (15–30 cm): 1.5–2 cm if printed by a thermal POS at 200+ DPI; larger if the print quality is lower.
  • Brochures and direct mail (30–60 cm): 3–4 cm.
  • Window vinyl and yard signs (3–8 feet sidewalk distance): 5–15 cm.
  • Indoor posters (1–3 meters): 10–15 cm.
  • Trade-show booth signage (2–5 meters): 15–30 cm.
  • Billboards and large format (5+ meters): 50 cm or larger; consult the print vendor for vehicle-distance specifications.

Apply a 1.5–2× safety margin for older phones, dim lighting, angled scans, and print imperfections. The formula gives the minimum; the safe-deployment size is higher.

Encoded data affects minimum size. A long URL with UTM parameters creates a denser QR pattern that requires a larger physical print. Keep the encoded URL under 100 characters, or use a dynamic QR that encodes a short redirect URL on the vendor's server. See the QR code size guide for the full scaling table.

Tips

  • Apply the 10:1 rule, then add a 1.5–2× safety margin
  • Older phones in dim lighting need 25–50% more size than the formula suggests
  • Shorter URLs produce simpler QR patterns that scan reliably at smaller sizes
  • Test at the intended print size on real stock before bulk production

Print: substrate, lamination, and resolution

Print quality is the second most common failure mode (after design contrast). The QR design can be perfect; if the print substrate or the resolution is wrong, the scan rate drops.

Resolution. Export QRs at 300 DPI minimum for print. PNG at 300 DPI works for fixed sizes; SVG (vector) scales to any size without quality loss and is the right default for print broker handoff. PDF is also vector-grade and ships from most generators.

Substrate. Coated 14-point cover stock is the workhorse substrate for table tents, brochures, and shelf tags. Uncoated paper absorbs ink and softens module edges; the QR scans less reliably even at the right contrast and size. For high-wear materials (receipt-adjacent stickers, fitting-room tags), upgrade to rigid plastic or PVC.

Lamination. Matte lamination is the right default for QR areas — glossy lamination creates specular reflection under overhead lighting at certain angles, breaking scans intermittently. The cost difference between matte and glossy lamination is trivial; the scan-reliability difference is significant.

Exterior-grade for outdoor. Standard interior lamination yellows in direct sun within 4–6 months. For window vinyl, yard signs, and any outdoor deployment, spec UV-resistant inks with 5-mil exterior-grade lamination. The print lasts 2–5 years instead of months.

Avoid folds and creases. A QR placed on a fold line breaks the scan when the material is folded. Position QRs in flat regions of the layout.

Pre-print proof. Always request a single proof print on the actual production stock before authorizing the batch. Print shops typically charge $5–20 for a single-piece proof. Scan it under the actual deployment lighting on three phones before approving the batch. The proof cost is trivial compared to the reprint cost of a failed batch.

See the packaging and labels guide for the per-material substrate decision in detail.

Tips

  • Export at 300 DPI minimum or use SVG / PDF for vector print
  • Use coated 14pt cover stock as the default for table tents and brochures
  • Spec matte lamination, not glossy, for QR areas
  • Use UV-resistant inks + exterior-grade lamination for outdoor deployment
  • Always print a proof and scan-test before committing to the batch

Error correction levels

QR codes have four error correction levels per ISO/IEC 18004: L (7% recovery), M (15%), Q (25%), and H (30%). The higher the level, the more of the QR pattern can be damaged or covered while still scanning reliably — at the cost of denser patterns that require larger physical print sizes.

Per-use-case recommendations:

  • L (7%): indoor digital display only (websites, presentations, app screens). Don't use for any printed deployment.
  • M (15%): the default for clean indoor print on coated stock with no embedded logo. Business cards, menus on table tents under matte lamination, brochures.
  • Q (25%): the recommended default for general print. Slightly denser pattern, much better real-world scan reliability. Use for restaurant table tents, retail shelf tags, marketing collateral, anywhere the print might face moderate wear or lighting variation.
  • H (30%): the right choice for embedded logos (the logo replaces up to 30% of the QR pattern; H gives the scanner enough recovery margin to read the rest), outdoor deployment, packaging that faces handling damage, or any high-stakes print where reliability dominates the design.

See the error correction levels guide for the technical detail and the add logo guide for the logo-embed pattern.

Placement on the medium

Where the QR sits on the physical medium affects scan rate as much as the design.

Eye-level for the typical scanner. Window QRs at sidewalk eye-level (~5'5"–5'10" for the typical adult passerby). Restaurant table tents at the table-edge orientation so guests don't have to rotate the tent. Retail shelf tags adjacent to the SKU label, not buried at the bottom of the shelf-talker.

Lighting matters. Avoid placing QRs in deeply shadowed regions of the layout (behind a logo overhang, near the binding of a brochure, in the gutter of a folded card). The scanner needs ambient light to read the pattern; deep shadow reduces scan rate.

Flat surfaces. Curved surfaces (mugs, water bottles, cylindrical packaging) distort the QR pattern at the curvature. Either use a sticker on the flat side of the packaging or oversize the QR significantly to compensate for the distortion.

Avoid glare-prone surfaces. Glass storefronts, polished metal signage, and high-gloss display panels create specular reflection that breaks scans intermittently. Move to matte surfaces, or angle the QR away from primary light sources.

Multi-QR layouts. When a medium needs to serve multiple jobs (menu + WiFi + review on a restaurant table tent), use separate QRs per job rather than one hub QR linking to a navigation page. Per-job QRs convert at 2–3× the rate of shared hubs because the scanner intent is clear at the moment of scan.

Position the CTA adjacent. The text label that tells scanners what the QR does must sit immediately above, below, or beside the QR — not across the layout. A QR with no adjacent CTA converts at half the rate of one with a clear label.

Tips

  • Place QRs at eye-level for the typical scanner audience
  • Avoid shadowed, curved, or glare-prone surfaces
  • Use separate QRs per job; avoid shared hub QRs
  • Place the CTA label immediately adjacent to the QR

CTA copy: what actually converts

A QR with no adjacent CTA text converts at half the rate of one with a clear label. The CTA is not optional design padding; it's load-bearing copy.

Specific verbs win over generic ones. "Scan to view menu" outperforms "Scan here." "Scan to save my contact" outperforms "Scan me." "Scan to join WiFi" outperforms "Free WiFi." The specificity removes the friction of "what happens if I scan this?"

Tie the CTA to the moment. "Loved your meal? Tell us on Google" on a restaurant check presenter outperforms "Leave a review" by 2–3×. The emotional context plus the platform clarity drives the conversion.

State the destination platform when relevant. "Scan to leave a Google review," "Scan to join @companyname on Instagram," "Scan to listen on Spotify." Scanners are more likely to scan when they know which app or service will open.

Avoid generic exhortations. "Try it now," "Click here," "Learn more" all underperform specific verbs. The QR is not a button; it's a contextual handoff. The CTA should describe the handoff.

For multi-QR layouts, the CTA disambiguates which QR does what. "Scan for menu" beside the menu QR, "Scan for WiFi" beside the WiFi QR. Without the labels, guests scan the wrong QR and bounce.

Match the language to the audience. Restaurants serving non-English-primary clientele often include a bilingual CTA ("Scan for menu / Escanear para ver el menú"). Trade-show booths often include the booth number in the CTA so the scan ties back to the lead source.

Tips

  • Use specific action phrases: "Scan for menu," "Scan to connect," "Scan for details"
  • Place the CTA directly above, below, or beside the QR — never across the layout
  • Tie the CTA to the emotional or operational moment ("Loved your meal? Tell us on Google")
  • Bilingual CTAs for multilingual audiences

Static vs dynamic: pick the architecture before generating

The static vs dynamic decision is architectural, not cosmetic. Static QRs encode the destination directly into the visual pattern; dynamic QRs encode a short redirect URL on a vendor's server. The trade-offs:

Static: free at reputable generators, no subscription, no vendor dependency, works offline, no scan analytics, no edit-after-print. Right for stable URLs and one-off deployments.

Dynamic: $5–15/mo at the entry tier, edit-after-print, scan analytics, requires internet on the scanning device, depends on vendor's redirect server, dependent on cancellation-survival policy. Right for URLs that change, campaigns that need attribution, and high-volume print where reprint cost dominates subscription cost.

The deeper trade-off is the cancellation policy. Most reputable vendors keep dynamic codes redirecting indefinitely after cancellation; some (Flowcode at 30 days, QR Code Generator immediately) deactivate. For any printed dynamic-QR deployment exceeding 50 pieces, verify the cancellation policy in writing before printing. See the dynamic vs static guide, the verify codes survive cancellation guide, and the permanent QR code guide.

Logo embed: do it right or skip it

Embedded logos make QRs feel branded but cover part of the pattern. Done right, the logo is fine; done wrong, the QR fails.

Size cap. Keep the logo under 15% of the QR area at error correction Q, or under 25% at level H. Larger logos punch out too much of the pattern for the scanner to reconstruct.

Center placement. The center of the QR is the safest location — the finder patterns (the three corner squares) and the alignment patterns are at the edges, and removing center modules has less impact on decoding than removing edge modules.

Solid background behind the logo. The logo sits on a solid background patch (typically white) carved into the QR. The patch must be solid; semi-transparent or gradient backgrounds confuse the scanner.

Error correction level H. Embed always at level H. The 30% recovery margin gives the scanner enough redundancy to handle the missing modules under the logo plus any other minor damage.

Test with the logo before printing. A QR that scans fine without the logo can fail after the logo is added if the placement, sizing, or error correction is wrong. Always run the post-logo proof scan. See the add logo to QR code guide and the best QR generators with logo.

Pre-print verification: the 5-minute test that saves the batch

The single highest-impact step in any QR deployment is the pre-print proof scan. The cost of catching a problem before the batch ships is essentially zero; the cost of catching it after is the entire print run.

The verification protocol:

1. Print a single proof at production size on the production substrate. Print shops typically charge $5–20 for a single-piece proof. Don't skip this step — digital file scans differently from printed paper.
2. Scan on at least three phones. One older device (iPhone 11-era or Android 10-era), one mid-range current device, one current flagship. The phones span the realistic scanning audience.
3. Scan under the actual deployment lighting. Restaurant dim, office overhead fluorescent, outdoor at dusk, retail under track lighting — whichever matches where the QR will live. Office-lighting scans can pass when restaurant-lighting scans fail.
4. Scan from the actual scanning distance. A table tent QR tested at 5 cm scans differently from the same QR at 40 cm. Test from real distance.
5. Verify the destination loads correctly. The QR can scan cleanly to a 404 page if the URL is wrong. Open the destination and confirm it loads, renders correctly, and converts on the intended action.
6. Test on a clean device. A phone that has already saved the network, contact, or page may appear to "work" even when the QR encodes incorrect data. Forget the network, delete the contact, clear the cache before testing.
7. Verify the cancellation policy for dynamic QRs. Run the empirical cancellation verification test before printing 50+ dynamic-QR pieces.

For large print runs (1,000+ pieces), commission a multi-batch proof: 10 pieces from the early batch, 10 from the mid batch, 10 from the late batch. Print runs drift; the proof catches drift before it becomes a refund issue.

Quick Tips

  • Test on at least 3 different devices before printing — one older, one mid-range, one current
  • Use SVG or PDF for print to maintain quality at any size; PNG at 300 DPI for fixed sizes
  • Always include a specific call-to-action near the code
  • Use error correction level Q as default; H for embedded logos or outdoor deployment
  • Keep URLs short for simpler, more reliable QR patterns
  • Verify the cancellation policy on dynamic QRs before printing at scale
  • Use matte lamination, not glossy, for QR areas
  • Print a proof and scan-test under actual deployment lighting before the batch

Frequently Asked Questions

What is the minimum size for a QR code?

For handheld scanning (business cards, flyers), 2 cm × 2 cm minimum. For distance scanning, apply the 10:1 rule (code width = scanning distance / 10) plus a 1.5–2× safety margin for older phones and dim lighting. Window vinyl: 5–15 cm. Posters: 10–15 cm. Billboards: 50+ cm.

Can I use custom colors in QR codes?

Yes, but maintain at least 4.5:1 contrast between the dark module color and the background. The foreground should always be darker than the background. Dark navy, deep teal, forest green, burgundy, or charcoal on white all work. Pastels and trendy mid-grays fail under WCAG criteria. See the [QR color guide](/blog/qr-code-color-guide-what-works-2026) for the tested palette.

Should I add a logo to my QR code?

Logos improve brand recognition without breaking the scan if you follow three rules: keep the logo under 15% of QR area at level Q (or 25% at level H), place it in the center, and use error correction level H to give the scanner enough recovery margin. Always test the post-logo proof scan before printing. See the [logo embed guide](/blog/how-to-add-logo-to-qr-code).

What file format is best for printing QR codes?

SVG or PDF — both vector formats that scale to any size without quality loss. For raster, export PNG at 300 DPI minimum (1000×1000 pixels is a safe starting point for 4 cm print). Avoid JPG for QR codes; JPG compression introduces edge artifacts that reduce scan reliability.

What error correction level should I use?

Level Q (25% recovery) as the default for general print on coated stock. Level H (30% recovery) when embedding a logo, deploying outdoors, or in high-stakes scenarios where reliability dominates design. Level M (15%) for clean indoor print with no logo. Level L (7%) only for digital display, never for print.

How do I make sure my printed QR codes will keep working long-term?

For permanent print, use static QRs encoded with stable URLs (on a domain you control with a server-side redirect, which gives you edit-after-print without any vendor dependency). For dynamic QRs, use vendors with published cancellation-survival policies (EZQR, QR Tiger, Uniqode); avoid Flowcode and QR Code Generator for printed deployments. See the [permanent QR code guide](/blog/permanent-qr-code-generator-2026).

More Guides

Related Articles

Related Industries

Related Tools

Written by

EZQR Editorial Team
EZQR Editorial Team

The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.

Ready to create your QR code?

Free, no watermarks. Generate and download in seconds.

Generate Free QR Code