Skip to content
Color Tool

QR Color Pair Tester

Test foreground and background color pairs for scan safety: contrast ratio, verdict, and suggested fixes.

Contrast ratio10.36:1
VerdictSafe for print
Foreground luminance0.051
Background luminance1.000

How to fix a failing pair

  • Darken the foreground: move toward navy, dark green, dark brown, or black.
  • Lighten the background: move toward white, off-white, or a pale tint.
  • Never use a light color for the modules or a dark color for the background — scanners expect dark modules on a light field.
  • Re-test after every change: a small shift in one color can move the ratio a full point.

Preview in these colors

Preview will appear here.

On-screen preview is a guide only. Print one copy and scan it before a full run.

How to Choose QR Colors That Still Scan

Color is where well-designed QR codes most often fail. A code is not a picture that a person reads; it is a pattern a camera must separate into dark and light squares in a fraction of a second, in imperfect light, through a possibly smudged lens. The measure that predicts whether that separation succeeds is the contrast ratio between the module color and the background color, computed from their relative luminance. This tool computes that ratio with the same math used by the WCAG accessibility standard, and it gives you a verdict you can act on before anything goes to print.

The thresholds in this tool are deliberately stricter than the bare minimum. A ratio of 4.5:1 or better is the safe zone for print, because paper, ink, sunlight, and aging all eat into contrast after the file leaves your screen. Between 3:1 and 4.5:1 is the risky zone: the code may scan fine on a bright screen in a well-lit room and still fail on a matte package in a dim shop. Below 3:1 is unsafe for any production use. Yellow modules on a white background are the classic failure here; they look cheerful in a mockup and nearly invisible to a camera. White modules on a black background, the inverted code, are equally unreliable, because most scanner software assumes dark modules on a light field.

When a pair fails, fix it by moving the two colors apart, not by adding effects. Darken the foreground first: a deep navy, forest green, dark brown, or plum will usually clear the bar while keeping the brand feel. Then lighten the background toward white or a pale tint. Avoid the temptation to add a drop shadow, an outline, or a glow to rescue a weak pair; those effects add edges the scanner has to work around and rarely fix the underlying contrast problem. If the brand palette genuinely cannot produce a passing pair, keep the code itself in black on white and put the brand colors in the frame, the headline, and the call to action around it.

Context can still defeat a passing ratio, so treat the number as necessary but not sufficient. Metallic inks, glossy lamination, and textured stocks all change how contrast behaves in real light. A code on a curved bottle or a reflective window is harder to scan than the same code on flat matte paper, even at the same ratio. That is why the final step is always a printed proof scanned with a real phone in the real location. If the proof hesitates, the fix is a darker foreground, a lighter background, a larger code, or a simpler placement, in that order.

One more habit will save you from the most embarrassing color failure: test the exact exported file, not a screenshot of it. Screenshots can shift colors, compress edges, and hide the quiet zone. Export the PNG or SVG, open that file, print it at final size, and scan the print. If your workflow passes the code through a design tool, check the code again after the handoff, because color profiles and background layers are exactly the kind of thing that changes silently between tools.

Frequently Asked Questions

What contrast ratio is safe for a printed QR code?

Aim for 4.5:1 or better. Between 3:1 and 4.5:1 is risky and needs a printed test; below 3:1 is unsafe for production print.

Can I use brand colors for a QR code?

Yes, if the module color is dark and the background is light with a passing ratio. If the brand palette cannot pass, keep the code black on white and put brand colors in the frame and headline.

Why do inverted QR codes (white on black) fail?

Most scanner software expects dark modules on a light field. Inverted codes break that assumption, so many phones cannot read them even when the contrast ratio looks high.

Is a passing ratio a guarantee the code scans?

No. Gloss, metallic ink, curves, glare, and small print sizes can still defeat a passing pair. Always test-scan a printed proof in the real location.