Coloured QR codes that still scan
Last updated 2026-11-02
QR codes do not have to be black and white. A code in your brand colours can look better on a flyer or a shop window. It just has to stay readable, and scanners are less forgiving about colour than people expect.
What the scanner actually sees
A scanner turns the image into light and dark. It does not care about hue, only about how bright each square is compared to the ones next to it. Navy on white works because navy is dark. Red on green can look striking to you and come out as two similar greys to the camera.
So the rule is about brightness, not colour: a dark foreground on a light background, with a big gap between them.
Colours that work
- Black, navy, dark green, dark brown, deep purple or dark red on white, cream or a very pale tint.
- A pale background in your brand colour, with near-black squares.
Colours that cause trouble
- Light on dark (inverted). Many modern phones read it, but some older phones and scanner apps do not. If you cannot test on a range of phones, do not invert.
- Mid-tones on mid-tones. Orange on blue, red on green, grey on grey. Pretty, low contrast.
- Pale squares. Yellow, light pink or pastel squares on white disappear in poor light.
- A busy background. A photo or pattern behind the code breaks up the squares. Give the code a plain block with a margin around it.
The check here
The generator has foreground and background colour pickers. If the two colours are too close in brightness, it refuses to make the code and asks for more contrast. That catches the worst pairs, but passing it does not guarantee every phone in every light. Test a printout.
Print and screen
- Printers shift colours. A dark grey on screen can print noticeably lighter, especially on uncoated paper. Print one copy before you print the run.
- Glossy finishes and glass add glare that washes out a light background.
- If you are also adding a logo, keep the colours simple. QR codes with a logo explains why the logo already uses up some of the safety margin.
If a coloured code will not scan, try the same code in black on white. If that works, the colours were the problem. Why your QR code will not scan covers the other causes.