QR Code Design Best Practices: Colors, Logos & Error Correction

Everything you need to make QR codes scan fast—and look on-brand.

Great QR codes balance brand style with technical reliability. This guide walks you through color, contrast, sizing, logos, error correction, print vs. screen guidelines, and testing—plus a quick designer handoff you can copy-paste into briefs. Use it as your preflight checklist before you ship any QR.

Quick start: Generate a code at FreeQRHub, choose high contrast colors, keep a clean quiet zone, export SVG for print, PNG for web, and test on 2–3 phones under different lighting.

1) Use strong contrast (dark on light wins)

Phone cameras look for sharp edges between modules. A dark foreground on a light background scans fastest. If you invert (light on dark), test aggressively—some scanners struggle on glossy dark backgrounds or under dim lighting.

  • Good: Navy/black modules on white or pale brand tint.
  • Risky: Pastel modules on light cream; gradients that lower contrast; photos behind the code.

2) Respect the quiet zone (margin)

The “quiet zone” is a border of empty space around the code—no patterns, no frames touching modules.

  • Minimum: 4 modules of clear space on all sides.
  • Don’t place text, crop marks, or busy artwork inside this zone.
  • If you add a frame, ensure the frame sits outside the quiet zone.

3) Size for distance (print & signage)

Rule of thumb: the farther the scan distance, the larger the code. Start at ~1 in (2.5 cm) square for hand-held items at arm’s length.

Common starting points
  • Business card / label: 1.0–1.25 in (2.5–3.2 cm)
  • Flyer / menu: 1.25–1.75 in (3.2–4.5 cm)
  • Poster (6–8 ft viewing): 2.0–3.0 in (5–7.5 cm)
  • Billboard (20+ ft): go big, then test on-site
Screen uses
  • Web / email: 180–256 px minimum
  • Presentation slide: 256–420 px
  • Booth TV / kiosk: 420–640 px

If in doubt, go bigger—and test from the intended distance with average phones.

4) Logos & overlays (with error correction)

Logos are fine if you raise error correction so the code remains decodable even with some obscured modules.

  • In FreeQRHub, choose Q or H error correction when placing a logo.
  • Keep the logo under ~15–20% of the QR area; center it.
  • Never cover the three finder squares (“eyes”) in the corners.
  • Use a white “badge” behind detailed logos to preserve contrast.

5) Module shapes, gradients & brand color

Rounded modules can look premium but may soften edges at small sizes. Gradients are okay if the darkest value remains truly dark across all modules.

  • Keep foreground colors with high darkness (e.g., deep navy, charcoal, black).
  • Avoid low-contrast brand-on-brand if the values are too similar.
  • Test rounded modules at the final printed size before committing.

6) Short, trackable URLs

Shorter data → fewer modules → faster scans and better small-size performance.

  • Use a short path (e.g., /go/spring-menu).
  • Add UTM tags per placement to measure performance.
  • Prefer your own domain to build trust; avoid suspicious shorteners in public spaces.

7) Print vs. screen: DPI, file formats & surfaces

  • Print: Export SVG (vector) for crisp edges at any size. If rasterizing, use 300+ DPI at final dimensions.
  • Screen: Use PNG at 2× the displayed size for HiDPI clarity.
  • Surface: Matte beats glossy (fewer glare issues). Avoid textured papers that break up small modules.
  • Ink limits: Very rich blacks on coated stock can flood—proof before volume runs.

8) Placement & environment

  • Keep codes at a comfortable reach—avoid ceiling height or awkward angles.
  • Good lighting = better scans. If the area is dim, size up.
  • Don’t place codes near visual “noise” like tight patterns or heavy textures.

9) Real-world testing (don’t skip!)

Test your final artwork on multiple phones (recent iOS & Android) in bright, dim, and mixed lighting. Test at the intended distance and angle, and test after you print on the actual material.

  • Verify the URL, SSL (https), redirect speed, and mobile layout.
  • Confirm tracking parameters and analytics events are firing.
  • Time to first contentful paint after scan: keep it snappy.

10) Accessibility & trust

  • Provide a short fallback URL near the code.
  • Label the action (e.g., “Scan for menu,” “Scan to enter giveaway”).
  • Use your own domain to build confidence; avoid mystery destinations.

Troubleshooting: why won’t it scan?

  • Too small: Increase size, especially for distance.
  • Low contrast: Darken foreground or lighten background.
  • No quiet zone: Add 4+ modules of clear margin.
  • Logo too big: Reduce overlay or raise error correction (Q/H).
  • Glare/texture: Try matte stock or move the placement.
  • Heavy data: Shorten the URL to reduce module density.

Designer handoff (copy this into your brief)

Goal: High-scan reliability with brand styling.

• Colors: Dark foreground (#0B1220 or brand-equivalent) on light background (#FFFFFF or 5–10% tint). No photo fill.
• Quiet zone: ≥ 4 modules, no graphics or frames inside.
• Size: Print ≥ 1.25 in for handouts; scale by distance (posters 2–3 in). Screen ≥ 256 px.
• Logo: Centered, ≤ 20% area. Error correction Q/H. Do not cover finder eyes.
• Format: SVG for print; PNG @2x for web.
• URL: Branded short path with UTM. HTTPS only.
• Test: iOS + Android, bright/dim lighting, from intended distance.
• Label: Action text nearby (“Scan for menu” + fallback short URL).
        

Quick checklist

  • ✅ High contrast dark-on-light
  • ✅ Quiet zone ≥ 4 modules
  • ✅ Sized for real viewing distance
  • ✅ Error correction Q/H if logo/overlay
  • ✅ SVG for print, PNG (2×) for screen
  • ✅ Short, tracked, HTTPS URL
  • ✅ Tested on iOS + Android, multiple lighting conditions
  • ✅ Clear label + fallback short link

Create a beautiful, brand-safe QR now: FreeQRHub.com — free PNG & crisp SVG downloads.

← Back to Blog