The design choices that separate a QR code people scan from one they ignore. Colors, logos, shapes, contrast — every rule backed by how scanners actually work.
Join thousands of businesses using QRTRAC for their QR code needs
The Fundamentals
The foreground (dark modules) must be at least 4x darker than the background. Camera sensors in phones decode QR codes based on contrast, not just color. Dark navy on white cream: ✓ perfect. Light gray on white: ✗ will fail. Test your contrast ratio with a free online tool before printing.
The QR code standard requires dark modules on a light background. Light-on-dark (e.g., white pattern on black) does not scan reliably because QR decoders look for dark areas to identify finder patterns. If you need a dark theme, place the QR code in a white framed box within your dark design.
You can place a logo in the center of your QR code — this is standard for branded codes. The QR standard's H (High) error correction rebuilds up to 30% of the pattern if obscured. Keep your logo footprint under 25% of the total code area, and always test scan reliability before print runs.
The three large squares in the top-left, top-right, and bottom-left corners are the finder patterns — they tell the scanner where the code is and how it's oriented. These must remain intact, undistorted, and uncropped. Any design customization should avoid these areas.
A QR code without a CTA relies on user curiosity alone. Adding "Scan for menu", "Scan to save 20%", or "Scan to connect" tells people what they get. People don't scan things they don't understand. Make the value exchange explicit and immediate.
These foreground colors test reliably on white/light backgrounds. Avoid pure red and orange — infrared camera sensors deprioritize them.
Charcoal Black
#1A1A2E
Navy Blue
#1e3a5f
Forest Green
#14532d
Deep Purple
#4a1d96
Dark Teal
#134e4a
Dark Brown
#78350f
Pure Red
#dc2626
Orange
#ea580c
The technical limits that decide whether a branded design still scans.
The QR code standard (ISO/IEC 18004) calls for a blank margin at least 4 modules wide around the code, where one module is one of the small squares. A code 25 modules across needs a margin of 4 of those squares on each side. Text, frames, and background patterns that creep into this margin are a common reason a well-designed code stops scanning.
Use roughly a 10:1 ratio of scan distance to code width. Someone standing 10 ft (3 m) from a poster needs a code about 1 ft (30 cm) wide. For close-up items like business cards, don't go below 0.8 in (2 cm). Print at 300 DPI or export SVG so the module edges stay sharp.
| Error correction level | Recovers | Use it for |
|---|---|---|
| L (Low) | ~7% | Clean screens where you need the smallest, least dense code |
| M (Medium) | ~15% | Most print: flyers, packaging, table tents |
| Q (Quartile) | ~25% | Labels that will get scuffed or dirty |
| H (High) | ~30% | Codes with a center logo, or tags on equipment and outdoor signs |
You can't fix a broken link on 10,000 printed flyers, so use a dynamic QR code for anything printed. On rough paper, check that ink spread doesn't merge modules. Outdoors, use weather-resistant material and keep the code away from glossy spots that catch glare.
Print a short URL next to the code for people who can't scan. Mount signage at a height a seated wheelchair user can reach. In clinics and pharmacies, skip heavy styling and go larger, so people with low vision or hand tremors can scan it. More in the QR code accessibility guide.
Print a proof on the actual stock and scan it with an older Android phone and an iPhone, from several angles, under dim light and direct sun. To prove a design change helps, print two versions and compare their scans in your dashboard.
QRTRAC's Design Toolkit
Upload your logo — QRTRAC auto-sets H error correction and validates scan reliability.
Full foreground/background color control with contrast warnings before you download.
Square, rounded, dot, diamond modules — finder patterns always protected.
Save your branded style as a template for team-wide consistency at scale.
Expert answers on logos, colors, shapes, and everything that affects scan reliability.
Yes, but you must use H (High) error correction — which allows up to 30% of the code to be obscured. Keep your logo to no more than 20-25% of the total QR code area. Larger logos risk scan failure. Center the logo precisely: off-center logos can corrupt the finder patterns in the corners, which are critical for decoding.
The dark module color (foreground) must have at least a 4:1 contrast ratio against the light background. Dark module on light background — not the other way around. Avoid red or orange foregrounds as camera sensors struggle with near-infrared contrast. Safe choices: dark navy, charcoal, forest green, dark purple on white or light cream.
Inverted QR codes (light pattern on dark background) are not supported by the QR code standard and will fail to scan on most devices. If you need a dark background, add a white square 'frame' or border area so the QR code itself remains dark-on-light within the frame.
Not if they follow the rules. A custom code with strong contrast, a dark foreground on a light background, a logo under about 25% of the area and high error correction scans as reliably as a plain one. Inverted colors, low contrast and oversized logos are what cause failures. Always test-scan with a few phones before printing.
Standard QR codes use square modules, but stylized QR codes can use rounded squares, dots, diamonds, or organic shapes for the data modules. The three finder pattern squares in the corners must remain recognizable squares — if they're too distorted, scanners fail to orient the code. QRTRAC's designer lets you customize module shapes while preserving finder pattern integrity.
Yes. Adding a short call-to-action label (e.g., 'Scan to see menu', 'Scan for 10% off') below or alongside the QR code tells people why they should scan. People don't scan QR codes they don't understand. Make the value exchange obvious.
At least 4 modules wide on every side, per the QR code standard (ISO/IEC 18004). A module is one of the small squares in the code, so the margin scales with the code. Keep text, frames, and background artwork out of that margin.
About 0.8 in (2 cm) wide for something scanned up close, like a business card. For anything scanned from farther away, use roughly a 10:1 ratio of scan distance to code width: a code read from 10 ft away should be about 1 ft wide.
Design your QR code today
Logo, color, custom domain, unlimited scans. Free 7-day trial — no card required.