"Can I color my QR code to match my brand?" Yes. Should you? Mostly. Here's exactly which color combinations work and which don't.
The 4:1 rule
WCAG (the web accessibility standard) defines contrast ratios from 1:1 (no contrast) to 21:1 (max contrast, pure black on white). QR codes need at least 4:1 contrast between the dark and light modules to scan reliably.
Most scanners actually want closer to 7:1. The closer you get to black-on-white, the more reliable scans become.
Combinations that work
- Black on white — 21:1 contrast. Always works.
- Dark navy on white — ~13:1. Works on every device.
- Deep maroon on white — ~9:1. Works reliably.
- Forest green on white — ~8:1. Works.
- Black on light gray — 14:1. Works, looks designy.
- Dark brown on cream — ~10:1. Works, wedding-appropriate.
Combinations that work most of the time
- Medium blue on white — 6:1. Works on iOS, occasional misses on older Android.
- Burgundy on cream — 6:1. Similar.
- Dark purple on light pink — 5:1. Works on newer phones; older ones struggle.
Combinations that break
- Yellow on white — under 2:1. Effectively unscannable.
- Light gray on white — under 3:1. Often fails.
- Cyan on white — under 3:1. Often fails.
- Pastel colors on pastel backgrounds — almost always fails.
- Medium green on tan — under 3:1. Fails.
Inverted (white on dark)
White-on-black QRs work on iPhones but often fail on Android phones. Some scanners are coded to look for dark-on-light specifically. If you must invert, test on at least 3 different Android phones before committing.
"Branded" colors that work
Most brand colors are darker than people assume. Coca-Cola red, IBM blue, FedEx purple — all have plenty of contrast against white. Use the actual hex code from your brand guidelines and check the contrast ratio.
The brand colors that fail are pastel-led brands — light pink, soft yellow, mint green. For these brands, invert the relationship: use a darker accent color (your "secondary" brand color) for the QR and put your pastel as the background.
The cheat code
Not sure if your colors work? Generate the QR, take a screenshot, view it on your phone in dim ambient lighting. If you can still see clean contrast, scanners will too. If it looks washed out to you, scanners will fail.