Color Blind Color Pair Checker
Two colours that mean two different things need to stay apart for everyone. Check any pair against eight vision types and see whether it survives on hue, on lightness, or not at all.
Compare two colours
Enter the two colours you are using to mean two different things — two chart series, pass and fail, selected and unselected.
Try one
This pair collapses for some viewers
The two colours become hard to tell apart under Deuteranomaly, Deuteranopia.
Lightness is not helping here. At 1.42:1 the two colours are close in luminance, so once hue separation goes there is nothing left to tell them apart. Changing one colour's lightness is usually a smaller edit than changing its hue, and it fixes the pair for every vision type at once.
How the pair reads to each viewer
ΔE is the perceptual distance between the two colours after simulating that deficiency. Contrast is the luminance ratio, which does not change.
| Vision type | Appears as | ΔE | Contrast | Verdict |
|---|---|---|---|---|
Normal vision Baseline — no deficiency applied | 120.5 | 1.42:1 | Distinct | |
Deuteranomaly The most common deficiency by a wide margin | 3.3 | 1.42:1 | Confusable | |
Deuteranopia Green cones absent | 3.7 | 1.42:1 | Confusable | |
Protanomaly Reduced red sensitivity | 39.8 | 1.42:1 | Distinct | |
Protanopia Red cones absent; reds also look darker | 42.1 | 1.42:1 | Distinct | |
Tritanomaly Reduced blue sensitivity; rare | 98.8 | 1.42:1 | Distinct | |
Tritanopia Blue cones absent; rare and often acquired | 93.0 | 1.42:1 | Distinct | |
Achromatopsia No colour at all; the hardest case | 18.9 | 1.42:1 | Marginal |
Bands: ΔE under 10 is treated as confusable, 10–20 as marginal, 20 and above as distinct. These are this tool's thresholds, not a published standard — they sit well above the ~2.3 just-noticeable-difference because a difference you can only find by staring is not one a chart legend can rely on.
Method
Why a Pair Is the Right Unit to Test
Most colour accessibility advice checks one colour against a background. That misses the failure people actually hit.
A contrast checker answers “can this text be read on this background”. It is the right question for body copy and the wrong one for a chart legend, a status dot, or a map key. There the colours are not competing with a background — they are competing with each other, and the thing that has to survive is the difference between them.
That difference has two independent parts. One is hue and chroma: the redness or greenness that makes two swatches feel like different colours. The other is luminance: how light or dark each one is. Colour vision deficiency attacks the first and leaves the second completely intact.
The consequence, which is genuinely useful
A deuteranope loses the hue difference between a mid red and a mid green almost entirely. What they do not lose is that one might be darker than the other. So a red/green pair at the same lightness is a real failure, while the same two hues with one noticeably darker is fine — for every vision type at once, including total colour blindness.
This is why the tool reports luminance contrast alongside the per-vision-type result, and why the advice it gives is usually “change the lightness, not the hue”. It is the smaller edit and it fixes more cases.
What ΔE is measuring
Both colours are converted to CIE L*a*b*, a space built so that equal numeric distances feel like roughly equal perceptual differences, and the straight-line distance between them is reported as ΔE. The simulation runs first, so the number describes how far apart the colours are as that viewer sees them, not as you see them.
| ΔE range | Verdict | What it means in practice |
|---|---|---|
| Under 10 | Confusable | The two colours read as the same colour to that viewer. Colour alone cannot carry the distinction. |
| 10 to 20 | Marginal | Tellable apart side by side, unreliable when separated across a page or shown small. Do not make it the only cue. |
| 20 and above | Distinct | Holds up at a glance, at small sizes, and when the two are not adjacent. |
Limits
What This Cannot Tell You
The number is precise. Precision and accuracy are not the same thing.
The simulations are built on published models — Viénot 1999 and Brettel 1997 for the dichromacies, Machado 2009 for the anomalous types — and those models describe an average observer. Real colour vision deficiency varies in severity between people who share a diagnosis, and anomalous trichromats in particular span a wide range. A pair that clears the bar for the modelled deuteranope may still be tight for an individual one.
Nothing here accounts for context either. Size matters: two colours that are clearly different as large blocks can merge as a one-pixel line or a small dot. So does adjacency — colours touching each other are easier to compare than colours at opposite ends of a chart. And the surrounding colours shift perception of both, which no pairwise measure can capture.
Finally, ΔE with CIE76 treats every direction in Lab as equally weighted, which slightly overstates differences in strongly saturated colours. It is used here because it is transparent and reproducible; a more elaborate metric would change the numbers a little and the verdicts rarely.
FAQ
Colour Pair Questions
What people ask about testing colours against each other.
How is this different from a contrast checker?
A contrast checker measures one colour against a background and answers a legibility question. This measures two colours against each other and answers a distinguishability question. They can disagree completely: two colours can both pass contrast against white while being indistinguishable from one another. Our WCAG contrast checker covers the first question.
Why does the contrast ratio stay the same on every row?
Because it does not change. Colour vision deficiency affects the cones that encode hue; it does not alter how much light a colour reflects. That is exactly why lightness is such a dependable fallback — a difference in luminance is one of the few things every viewer keeps, including someone with no colour vision at all.
My pair fails only for tritanopia. Does that matter?
Less than a deutan or protan failure, in pure numbers — tritan deficiency is rare, on the order of 1 in 10,000, and inherited forms are rarer still. It is worth noting for two reasons anyway: the tritan axis is the one acquired conditions tend to affect, so the affected group is not only the congenital cases, and a fix that helps tritan viewers is usually a lightness change that helps everyone.
What ΔE should I aim for?
Twenty or above under every vision type is a comfortable target for colours that carry meaning on their own. If you cannot reach it — and with more than three or four categories you often cannot — the answer is not to keep hunting for hues, it is to add a second cue. Beyond about five categories, colour stops being a reliable channel no matter how carefully it is chosen.
Can I check more than two colours?
Not here — this tool is deliberately pairwise, because that is where the answer is unambiguous. For a whole set, our palette generator builds sets that are checked against every vision type, and the colour picker suggests safer alternatives for a single colour.
Which vision type should I care about most?
Deuteranomaly, by a wide margin — it is the most common deficiency, affecting roughly 5% of men. Deuteranopia and the protan types follow. If a pair works for the deutan rows it will usually work for most affected viewers, but the table shows all eight because the cost of checking the rest is nothing.