Color Blindness Simulator
See your colours as the eight percent of men who see them differently do.
Nudge a colour until it passes WCAG, keeping its hue.
The fixed colour appears here
The Accessible Color Generator takes a colour that fails WCAG and walks its lightness in OKLCH until it passes, holding hue and chroma — so the result is still recognisably your brand colour rather than a generic dark grey.
Brand colours are chosen for how they look, not for how they score, and the usual result is a palette where the primary blue is a few points short of 4.5:1 on white. Replacing it with a generic dark grey solves the audit and ruins the brand.
This generator does the smaller thing instead. It holds your hue and saturation and walks the lightness in OKLCH — a perceptual space, so the steps are even — until the colour clears the target you set, then stops at the first value that passes. The result is recognisably the colour you started with, just light or dark enough to read.
Both directions are offered, because sometimes the accessible version of a colour is darker and sometimes lighter, and which one suits a design is a judgement the tool should not make for you. A full ramp of passing shades is shown alongside so you can see how much room the hue has.
Only lightness moves, so the fixed colour belongs to the same family as the one you started with.
The search runs in OKLCH, where equal steps look equal, so it finds the nearest passing colour rather than the nearest number.
Darker and lighter candidates are offered, because which one suits a layout is not a decision a tool should make.
Every shade of your hue that passes the target, so you can see how much room it has.
AA body text, AA large text or AAA, against any background rather than assuming white.
Usually a brand colour, and the background it sits on.
AA body text at 4.5:1, AA large at 3:1, or AAA at 7:1.
Darker or lighter — the tool gives the nearest passing colour either way.
Take the HEX, or copy the whole ramp of accessible shades.
Contrast is a function of relative luminance, and lightness is what moves luminance most directly. Changing saturation shifts the colour much further from the original for far less contrast gained.
HSL lightness is not perceptual — yellow at 50% lightness is far brighter than blue at 50%. OKLCH is built so that equal steps look equal, which means the search finds the nearest passing colour rather than the nearest number.
The hue is preserved exactly and chroma is held as far as the gamut allows, so it stays the same colour family. How far it has to move depends on how far it started from passing.
Often, yes. Large text only needs 3:1, so the usual pattern is to keep the brand colour for headings and use the adjusted one for body copy and small labels.
What people who use the Accessible Color Generator think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the Accessible Color Generator. It takes half a minute and no account.
Write the first reviewSee your colours as the eight percent of men who see them differently do.
Build conic gradients — pie charts, colour wheels and sweeps.
Blend two colours and see every step between them.
Work out whether black or white text belongs on any colour.
Work out the solid colour a translucent layer really produces.
All 148 CSS colour names, searchable and sortable.
Generate random colours you would actually use.
The RAL Classic chart, searchable, with screen approximations.