Design
Brand colour QR codes that still scan
Take the brand hex, compute its luminance, and check the difference against white — 40 points is the floor, 60 the safe target. If the swatch fails, darken that hue for the modules only and keep the exact colour in the surrounding artwork. Colour the modules, never the background, and keep the eyes darkest.
The three-step workflow
Brand colour requests fail predictably or succeed predictably; the deciding step is measuring before designing.
Step 1 — measure the swatch. Compute the brand colour's luminance
(L = 0.2126R + 0.7152G + 0.0722B, as a percentage of white) and subtract from 100.
The contrast minimum is 40 points;
the print-safe target is 60, meaning a module luminance of 40% or darker.
Step 2 — if it fails, darken the shade, keep the hue. Reduce the colour's lightness until the arithmetic passes, and use that darker variant for the modules only. The exact brand swatch stays in the frame, the label, the surrounding artwork — where it belongs and where no decoder cares. A slightly darker green that scans everywhere serves the brand better than the exact green on a support ticket.
Step 3 — modules coloured, background white, eyes darkest. Colouring the background is where most branded codes die. And since the corner eyes must be found before error correction helps anything, pin them at the darkest tone in the design.
Worked examples
| Brand-ish colour | Hex | Luminance | vs white | Verdict |
|---|---|---|---|---|
| Crimson | #e60023 |
20% | 80 | use as-is |
| Bright blue | #1877f2 |
42% | 58 | use as-is |
| Indigo | #6366f1 |
44% | 56 | usable; darken for print headroom |
| Bright green | #25d366 |
65% | 35 | fails — darken |
| Amber | #ffcc00 |
79% | 21 | fails badly — darken a lot |
The darkening step in action: the bright green #25d366 fails at 35 points, but a
deepened variant such as #1a9c4b measures ~48% luminance — a 52-point difference
that passes with the hue intact. Ambers and yellows need more aggressive treatment
(toward olive or brown) because luminance weights green so heavily; sometimes the
honest answer is using the brand colour on the label instead, via the approaches on
colours that scan.
Applying it in UseQR
Every colour is a URL parameter, so a passing brand style becomes a link the whole team reuses:
fg=1a9c4b modules in the darkened brand green
eyefg=0f172a&ballfg=0f172a eyes pinned near-black
bg=ffffff background stays white (the default)
Try it: a branded code with dark eyes. Two-tone brands can run a gradient between two passing stops, and eye styling adds shape branding on top at no contrast cost. Whatever the combination, the validator computes the real contrast of the rendered pair and decodes the output — attach its pass to the brand sign-off, and the "can we use our exact green?" conversation becomes a measurement instead of a negotiation.
One deliberate omission: this page darkens colours rather than lightening them, because the alternative — light modules on a dark brand ground — is a polarity failure, not a contrast problem, and no shade adjustment fixes it.
FAQ
Can a QR code use our brand colour?
Almost always, on the modules. If the colour's luminance difference against white is 40 points or more it works as-is; lighter brand colours need a darkened variant of the same hue for the modules, with the exact swatch kept in the surrounding design.
Should the brand colour go on the modules or the background?
The modules, always, with the background left white. A coloured background subtracts from the one luminance difference the decoder depends on, and it is the most common reason branded codes fail.
What about brand colours like yellow or orange?
They fail as module colours — their luminance is too close to white. Darken them substantially (toward olive or rust) or keep them in the frame and label while the modules use the brand's darkest neutral.
Do the corner squares have to be the brand colour too?
No, and it is often better if they are not. Keeping the three eyes near-black gives detection maximum margin while the data modules carry the brand hue — a combination most scanners handle better than a uniformly mid-tone code.
Try it — free, no signup
Related
- QR code design best practices — seven rules ranked — The seven design rules that decide whether a styled QR code scans, ranked by how often breaking them kills codes, with the number behind each rule.
- QR code contrast — the 40% minimum, measured — A QR code needs at least a 40% luminance difference between modules and background. How to compute it, and common colour pairs that pass or fail.
- Gradient QR codes that still scan — A gradient QR code scans if both gradient stops keep a 40% luminance difference against the background. Linear vs radial, and how to verify it.
- Custom QR code eye shapes — what survives detection — QR eyes can be square, rounded, circle, leaf or diamond. What the 1:1:3:1:1 detection ratio allows, and the risk order of the common variants.