QR Codes Are More Than Black-and-White Squares
Many people think QR codes are just patterns of black-and-white squares, but QR codes support a rich set of customization options. You can change colors, embed logos, adjust size, and add margins to make your QR code both functional and attractive.
Error Correction Level: The Foundation of Customization
The error correction level is the most important parameter for QR code customization. It determines whether a QR code can still be scanned after being partially obscured or damaged.
Four Levels
- L (Low): about 7% redundancy, lowest error correction, simplest pattern
- M (Medium): about 15% redundancy, the commonly used default level
- Q (Quartile): about 25% redundancy
- H (High): about 30% redundancy, strongest error correction, suitable for embedding logos
Why Embedding a Logo Requires H
A logo obscures the center area of the QR code. If the error correction level is low, the code won't scan after obstruction. Level H has 30% redundancy, meaning the code remains scannable even when 30% of the pattern is damaged, making logo embedding safer.
Rule of thumb: always use level H for logo embedding, and keep the logo area under 20% of the QR code.
Color Customization
Foreground and Background Colors
- Foreground color: the color of the squares, default black
- Background color: the base color, default white
Color Contrast Requirements
Scanners rely on contrast to recognize squares. The foreground and background colors must have sufficient contrast:
- Dark foreground + light background: safe
- Light foreground + dark background: works, but some older scanners don't support inverted colors
- Insufficient contrast between foreground and background: won't scan
Rule of thumb: use dark colors for the foreground (black, dark blue, dark green, dark purple) and light colors for the background (white, light yellow, light gray). The brightness difference should be at least 50%.
Color Combinations to Avoid
- Red foreground + green background: hard to recognize for colorblind users and some scanners
- Two dark colors: insufficient contrast
- Two light colors: insufficient contrast
- Gradients: scanners may fail to recognize
Logo Embedding
Why Embed a Logo
Embedding a logo strengthens brand recognition. Scanners see the logo and know it's an official QR code, increasing trust.
Logo Size
A logo that's too large obscures too much data; one that's too small is hard to see. We recommend the logo occupy 10%-15% of the QR code area, with a maximum of 20%.
Logo Shape
- Square: most common, consistent with QR code style
- Circle: visually softer, but the obscured area is irregular
- With white border: add a white outline around the logo to prevent the logo color from blending with the squares
Logo Position
Center placement is most common. QR codes have positioning markers (large squares) in three corners; the logo should not obscure these three corners. Center placement is safest.
Size and Margin
Size
QR code size is measured in pixels. Too small to scan, too large wastes space.
- Minimum size: at least 100x100 pixels recommended
- Print size: at least 2cm x 2cm recommended
- Screen display: adjust to the container size
Margin (Quiet Zone)
QR codes need whitespace around them, called the quiet zone. Scanners use the quiet zone to distinguish the QR code from surrounding content.
- Standard requirement: at least 4 modules wide of margin
- Module: the side length of the smallest square in the QR code
- Too small: scanners may not detect the boundary
- Rule of thumb: leave 4-8 modules of margin; leave more for print
Data Capacity and Version
QR Code Versions
QR codes have 40 versions; higher versions store more data:
- Version 1: 21x21 modules, stores about 25 alphanumeric characters
- Version 40: 177x177 modules, stores about 1850 alphanumeric characters
- Higher versions have denser squares and are harder to scan
Data Capacity Advice
- URLs: versions 3-5 are usually sufficient
- Text: keep under 100 characters
- Too much data: the QR code becomes too dense, scanning slows or fails
Rule of thumb: keep URLs as short as possible; for long URLs, use a URL shortener before generating the QR code.
Customize QR Codes with DocsAll
The QR Code Generator supports full customization:
- Enter content (URL, text, contact info, etc.)
- Choose error correction level (use H for logo embedding)
- Set foreground and background colors
- Upload a logo (optional)
- Adjust size and margin
- Generate and download PNG
Generated in the browser; content is never uploaded to a server.
Common Issues
Can't Scan After Embedding a Logo
- Error correction level not set to H
- Logo too large, exceeding 20%
- Insufficient contrast between logo color and squares
Can't Scan After Changing Colors
- Insufficient foreground-background contrast
- Used red or green (some scanners don't recognize)
- Gradients
Blurry Printing
- Size too small, at least 2cm recommended
- Vector format (SVG) prints more clearly
- Insufficient margin
Summary
Three key things about QR code customization: error correction level (use H for logos), color contrast (dark foreground, light background), and logo size (no more than 20%). Master these three and your QR codes will look great and scan reliably. The DocsAll QR Code Generator runs in the browser; data never leaves your device.