Scanners need to distinguish dark modules from a light background. Color names are less important than luminance contrast, reproduction, lighting, and consistency across the whole grid.
Preserve dark-on-light polarity
A dark foreground on a light, solid background is the dependable baseline. Some readers handle reversed codes, but support is not consistent enough to make light modules on a dark field the default for public use.
Avoid transparent backgrounds over photographs. The effective background changes from module to module and may shift again when the image is printed or displayed.
Use the contrast warning correctly
HighEndDIY estimates contrast from the chosen colors and warns below a conservative threshold. That calculation is useful screening, not a QR-specific certification. WCAG contrast criteria apply to readable interface content; QR scanning has different variables. Use the warning to reject weak combinations early, then scan the actual result.
Instructions around the code - headings, URL fallbacks, and calls to action - should meet applicable text contrast requirements independently.
Brand color without brand damage
If a primary brand color is too light, use a darker derived shade for the modules and keep the brighter color in the surrounding design. Maintain one foreground color rather than gradients that make some modules weaker than others.
Metallic inks, foil, varnish, and screens can render a numeric color value unpredictably. Ask for a proof and evaluate it under the lighting where the code will be used.
Original example
A studio’s bright turquoise looks distinctive on white but triggers a low-contrast warning. Instead of adding a heavy shadow to every module, the designer chooses a deep teal for the code and reserves turquoise for the heading and border outside the quiet zone. The result remains recognizable and scans more consistently.
Color-blind access and meaning
Do not use color alone to distinguish two adjacent QR actions. Label each code in text, provide a readable fallback, and keep sufficient spacing. A visitor should not need to identify “the green code” to reach the correct resource.
Sources and further reading
Create the code you need
Use HighEndDIY’s private browser tool, then test the result in the setting where people will scan it.
Create a QR CodeFound something that should be corrected? Email help@HighEndDIY.com.