Skip to main content

How to Create QR Codes That Scan Well: Size, Contrast, and Common Errors

QR codes are everywhere, but many fail to scan properly due to simple mistakes. This guide explains the technical aspects of QR codes and how to create ones that work reliably in any situation.

How QR Codes Work

QR (Quick Response) codes store data in a two-dimensional pattern of black and white squares. Scanners read these patterns using camera contrast detection, decoding the information embedded in the arrangement of modules.

Unlike barcodes that store data in one dimension, QR codes use both horizontal and vertical axes, allowing them to hold significantly more information in a smaller space.

Getting the Size Right

The minimum scannable size depends on scanning distance and the complexity of the encoded data. As a general rule:

  • For close-range scanning (business cards, packaging): minimum 2x2 cm (0.8x0.8 inches)
  • For medium distance (posters, signs): minimum 5x5 cm (2x2 inches)
  • For far distance (billboards, banners): calculate 10:1 ratio (10 cm QR for 1 meter viewing distance)

The more data encoded, the denser the QR code becomes, requiring larger sizes for reliable scanning.

Contrast Is Critical

QR scanners rely on high contrast between the dark and light elements. Poor contrast is the most common cause of scanning failures.

  • Use black on white for maximum reliability
  • If using colors, ensure at least 40% brightness difference
  • Dark colors on light backgrounds work better than the reverse
  • Avoid gradients, patterns, or textures in the QR code area

Understanding Error Correction

QR codes include built-in error correction that allows them to be read even when partially damaged or obscured.

L

Level L (Low): 7% recovery - Smallest QR code, least resilient

M

Level M (Medium): 15% recovery - Good balance for most uses

Q

Level Q (Quartile): 25% recovery - Good for outdoor or rough conditions

H

Level H (High): 30% recovery - Best for logos or design overlays

Higher error correction means a denser code. Choose the level based on your use case and potential for damage.

Common Mistakes to Avoid

Too Much Data

Problem: Encoding long URLs creates dense, hard-to-scan codes.

Solution: Use URL shorteners or redirect services for long URLs.

Insufficient Quiet Zone

Problem: The white space around the QR code is part of the code. Cropping it causes scanning failures.

Solution: Always maintain at least 4 modules of quiet zone around the code.

Low Resolution for Print

Problem: Pixelated QR codes from low-resolution images don't scan well.

Solution: Use SVG format for print or export PNG at high resolution (300+ DPI).

Inverting Colors

Problem: White QR codes on dark backgrounds often fail to scan.

Solution: Always use dark codes on light backgrounds when possible.

Not Testing Before Production

Problem: QR codes that work on screen may fail when printed.

Solution: Always test scan your QR codes in the actual print size and material.

QR Code Checklist

  • Content is as short as possible
  • Size is appropriate for scanning distance
  • High contrast (dark on light background)
  • Quiet zone is preserved (4+ modules margin)
  • Error correction level matches use case
  • Format is appropriate (SVG for print, PNG for web)
  • Tested on multiple devices before publishing

Ready to create your QR code?

Use our free QR Code Generator to create high-quality, scannable codes.

Try it now →