QR Code colors and contrast: what scans and what doesn't
QR Codes scan best with dark dots on a light background and a strong brightness difference between them. Inverted codes, mid-tone color pairs, busy backgrounds, and gradients that turn light can fail, so test on two phones.
The rule that matters most
A QR Code scanner looks for dark squares on a lighter background. The bigger the difference in brightness between the dots and the background, the more reliably it scans. Color matters less than brightness contrast.
What scans well
- Black or very dark dots on white or a very light color.
- Dark blue, dark green, dark purple, or deep red on a light background.
- A solid color, or a gradient whose lightest end is still clearly dark.
What often fails
- Light dots on a dark background (inverted). Some scanners do not read them at all.
- Two mid-tone colors, such as orange on pink, or yellow on white.
- Patterned or photo backgrounds behind the code.
- Gradients where one end becomes too light.
A quick test
- Convert a screenshot of your code to black and white. If the dots and background look almost the same gray, the contrast is too low.
- Scan the code with two phones.
- If it fails, darken the dots or lighten the background.
Gradients and transparent backgrounds
StyloQR Pro can apply gradient colors to static codes. Keep the whole gradient dark enough. A transparent background puts the code on whatever is behind it, so confirm the contrast on that surface. See PNG vs SVG vs PDF for formats with transparency.
If a styled code won't scan, start with QR Code not scanning? 9 fixes.
Pick colors in the free StyloQR Chrome extension.
Frequently asked questions
Can a QR Code be white on black?
Some scanners read it and some do not. For reliability, use dark dots on a light background.
Can I use my brand colors?
Yes, if the dots are dark enough compared with the background. Test the code on two phones.
Try StyloQR free
Install the Chrome extension. Single QR Codes are free; Pro is a one-time $9.90 and adds batches, animation, history, and gradients.
Add to Chrome — it's free