Color Contrast Checker
Most contrast checkers tell you pass or fail. That is the easy half. The useful half ishow far you have to move, and which colour to move — so this one works that out and hands you the corrected value.
What the thresholds mean
| Level | Normal text | Large text |
|---|---|---|
| AA — the level most policies require | 4.5:1 | 3:1 |
| AAA — enhanced | 7:1 | 4.5:1 |
"Large" means 24 px or larger, or 18.66 px or larger if bold. The size rule exists because thicker strokes stay legible at lower contrast — which is also why a heavier weight can be a legitimate fix, not just a darker colour.
How the suggestion works
When a pair fails, we search for the smallest lightness change that reaches the target ratio, trying the text colour and the background separately, and report whichever moves less. Hue and saturation are left alone, so the suggestion stays recognisably your colour rather than a generic dark grey.
Contrast ratio is computed from WCAG relative luminance. Note what that formula doesnot capture: it treats colour pairs with identical luminance as identical, so two very different hues can score the same. It is a floor, not a judgement about whether the result looks good.