QR Code Colour Customisation: What Works and What Breaks a Scan
Colour QR codes are a legitimate design choice — they can match your brand, stand out on printed materials and look significantly better than a plain black-and-white square. But colour changes can also make a QR code difficult or impossible to scan if the contrast is not right. This guide explains the rules that matter, the combinations that work and the ones to avoid.
Why colour affects scan reliability
A QR code scanner works by detecting the contrast between the dark modules (the squares that encode data) and the light background. It does this using the luminance value of each pixel — essentially how bright or dark it is — rather than the specific colour. Two colours that look very different to the human eye can have similar luminance values, making it hard for a scanner to distinguish the modules.
This is why a red QR code on a green background might look striking but could fail to scan on many cameras: red and green can have similar luminance values even though they are very different colours. The scanner cannot rely on colour differentiation — only brightness differentiation.
The practical rule is: dark foreground on light background, with a clear difference in brightness (luminance) between the two.
The contrast rule
For reliable scanning, you want a contrast ratio of at least 3:1 between your foreground and background colours. Web accessibility standards (WCAG AA) require 4.5:1 for text, and this is a reasonable target for QR codes as well — higher contrast means more reliable scanning across more devices and conditions.
Most web design tools and contrast checkers (including the WebAIM Contrast Checker, freely available online) will calculate the ratio for any two hex colours. If you enter your brand colours and the ratio is below 3:1, the QR code will likely scan intermittently at best.
The safest combinations are always dark on light. If your brand palette is light on dark, the best approach is to use a light-coloured background panel for the QR code specifically, even if the rest of the design is dark.
Combinations that work reliably
Combinations that commonly fail
The inverted code problem
Inverted QR codes — light modules on a dark background, the reverse of the standard — are the most common source of colour-related scan failures. This is because the QR code standard specifies dark modules on a light background as the default. Most scanners are optimised for this orientation.
Modern camera apps (iOS 15+, Android 10+) can often read inverted codes, but older devices and some third-party readers cannot. If your audience includes people with older phones or if the code will be in a public context where you cannot control what device is used to scan it, avoid inverted codes.
If your design calls for a dark background and you want to match it with the QR code, add a white or light-coloured rectangular background panel behind the code rather than inverting the colours. This maintains dark-on-light scanning while fitting visually into a dark design.
Colour QR codes and print media
Digital colours and printed colours behave differently. A high-contrast combination on screen may look different when printed, particularly on coloured card stock. A dark navy on a cream background that scans perfectly from your monitor may produce a lower-contrast result when printed on off-white or slightly yellowish paper.
If you are using custom colours on printed materials, always produce a physical proof and test it before the full print run. Use the paper stock and printing method you will actually use — laser versus inkjet versus professional offset printing all produce different results. Pantone or CMYK colours specified by a print shop can differ from your screen RGB values in ways that affect contrast.
How to use the colour picker in DoMyQR.com
The foreground and background colour pickers in the customisation panel update the QR code preview in real time. You can enter hex colour codes directly if you have specific brand colours, or use the colour picker to explore options visually.
The best workflow is: set your colours, check the preview looks visually clear, then scan the preview on your phone before downloading. If it scans cleanly on screen at the preview size, it will likely scan well when printed at a reasonable size. If it hesitates or fails, increase the contrast — either darken the foreground, lighten the background or both.
You can also combine colour customisation with a logo overlay. In that case, use H error correction and check that the logo does not obscure any of the three corner finder patterns (the large squares in three corners of the code) or the timing strips between them.
Keeping it practical
For most use cases, the simplest advice is: match your brand colour as the foreground, use white or off-white as the background, check the contrast ratio and test it. Dark brand colour on white is almost always scannable and almost always looks professional. That combination handles the vast majority of requirements without any risk.
The more adventurous colour choices — unusual backgrounds, subtle palettes, monochromatic combinations — require more testing and more care. They can look excellent, but they need to earn it through proper verification before they go anywhere near a print shop.
Try custom colours on your QR code
Use the colour pickers in our free generator and scan the live preview to check reliability before downloading.
Customise your QR code →Scan reliability for custom colour QR codes depends on device camera quality, lighting conditions and print quality. Always test before committing to a print run.