Recolour your link code without the scanner giving up
You can tint a URL code to your brand as long as you keep the one rule scanners depend on: a dark pattern on a light background. Swap in a deep brand colour for the modules and a pale one behind them, and the phone still reads the link exactly as it would in black and white.
Colour never changes the destination — the code encodes the same URL whatever shade you paint it. What colour affects is contrast, and contrast is the only thing standing between a branded code and a scanner that stares at it and does nothing.
Fill the form to generate a QR code
Dark on light, never the other way
Scanners expect dark modules on a light field. A navy or forest-green pattern on white or cream reads perfectly; the same colours flipped — light modules on a dark background — trip up a lot of phone cameras that assume the classic polarity.
If your brand is built around a dark background, put the code in a light panel rather than inverting it. A small pale rectangle behind the code costs nothing and keeps every scanner happy.
Contrast beats brand-matching
The temptation is to match the code to a mid-tone brand colour. Mid greys, pastels and muted tones often fail because the difference between module and background is too small for the camera to resolve.
Pick the darkest version of your brand colour for the pattern and the lightest for the background. If you can't tell the two apart at a glance in greyscale, neither can the scanner.
- Modules: darkest brand tone.
- Background: white, cream or your lightest tint.
- Sanity check: does it still read as dark-on-light in greyscale?
Gradients and where they go wrong
A gradient across the modules can look sharp, but only if every stop stays dark enough against the background. The moment the gradient fades toward the background colour, those modules lose contrast and the code develops a dead zone.
Keep any gradient within the dark range — dark blue to dark purple, not dark blue to pale grey — and never gradient the background toward the module colour.
How to colour a link code
- Paste the url. Enter your destination in the url field. Shorten long tracking links so the code stays low-density and the colours read cleanly.
- Set a dark module colour. Choose the deepest version of your brand colour for the pattern. The common mistake is a mid-tone that's too close to the background.
- Keep the background light. White or your palest tint. Never invert to light-on-dark, which many cameras refuse to read.
- Test before exporting. Scan on two phones. If it hesitates, deepen the module colour or lighten the background until contrast is obvious.
Technical details
- Maximum characters: 2953
- Recommended error correction: M (medium) — colour changes appearance, not module count, so the link code keeps its normal recovery level; the real constraint is contrast.
- Payload is a plain https link; colour never alters the encoded URL.
- Keep the module colour clearly darker than the background — verify in greyscale.
Frequently asked questions
- Can I make a URL QR code in my brand colours?
- Yes, within one rule: keep a dark pattern on a light background. Use the deepest version of your brand colour for the modules and a pale tone behind them. The link is unchanged by colour, so the code opens the same page — colour only affects whether the camera can read it.
- Why won't my coloured link code scan?
- Almost always low contrast or an inverted design. A mid-tone pattern on a similar background, or light modules on a dark field, defeats the camera. Deepen the module colour, lighten the background, and avoid inverting. Check it still reads as clearly dark-on-light in greyscale.
- Does colouring the code change where the link goes?
- No. Colour is purely cosmetic; the encoded URL is identical whatever shade you use. A red code and a black code with the same link open the same page. Colour only influences contrast and therefore readability, never the destination the scan resolves to.
- Can I use a gradient on a link code?
- Cautiously. A gradient works only if every part of it stays dark against the background — dark blue into dark purple, for instance. If the gradient fades toward the background colour, those modules lose contrast and create a dead zone. Never gradient the background toward the module colour.
- Do I need to change error correction to colour a code?
- No. A link code stays at its normal medium level for colouring, because colour doesn't remove any modules the way a logo does. The whole job is contrast: keep the pattern clearly darker than the background and the standard recovery level is plenty.
- Is dark-on-light really necessary, or just a suggestion?
- It's effectively necessary. QR scanners are built expecting dark modules on a light field, and while some can handle inversion, many phone cameras cannot. For a code that has to work on the first try for any stranger, keep it dark-on-light rather than gambling on their device.