Colour Accessibility

Colour contrast checker

Large heading text Body text at a normal size, which is the harder test of the two.
Contrast ratio 8.86:1
✓ AA text✓ AA large✓ AAA text✓ AAA large

Perceptual difference ΔE 68.5 — clearly different colours

Format

Calculated in your browser · nothing is uploaded

Local · the ratio is luminance; the ΔE is not

Calculates the WCAG contrast ratio between two colours and shows which conformance levels the pair passes: 4.5:1 for normal text at AA, 3:1 for large text and interface components, 7:1 for normal text at AAA and 4.5:1 for large text at AAA. The sample block above the reading shows the pair at a heading size and a body size, and the perceptual difference between the two colours is printed underneath as a ΔE, because the ratio says nothing about whether they look alike.

How to use the colour contrast checker

1 Set the text colour and the background, with the pickers or by typing hex values or CSS colour names.
2 Read the ratio and the four pass or fail badges beneath it.
3 The sample block shows the pair at a heading size and at a body size, which is the harder test.
4 Aim for 4.5:1 on body text; 3:1 is enough for large text and interface components.
5 The ΔE line beneath is how different the two colours look, which the ratio does not measure.

The ratio is computed from relative luminance, not from how different the colours look, which is why a mid-grey on white and a mid-blue on white can score identically while looking nothing alike. Large text gets a lower threshold because size compensates for contrast, and "large" has a specific meaning: 18.66px bold or 24px regular, not merely bigger than the body copy. Two things the ratio does not cover: it says nothing about colour-blind users distinguishing two colours from each other, and WCAG 2 contrast is known to under-serve some combinations, which is why APCA exists as a proposed replacement. The other measure people reach for is ΔE, which answers a different question. Not "is this readable" but "will anyone notice these are different colours". It is measured in CIE Lab, a space built so that equal numeric distances look like equal differences, because RGB distance does not: it treats a change in blue as being as visible as the same change in green, and human vision is far more sensitive to green. The thresholds worth remembering are that ΔE under 1 is imperceptible, 1 to 2 shows only on close inspection, 2 to 10 is visible at a glance, and print buyers commonly accept under 2 for a brand colour match. Luminance and ΔE disagree constantly, and a pair can pass AAA while being nearly indistinguishable to someone with a colour vision deficiency.

What people use it for

  • Checking body text against its background before shipping
  • Confirming a button label passes AA at the size it is set
  • Testing whether a large heading clears the 3:1 threshold
  • Checking an icon or a border against the 3:1 component rule
  • Working out why a pair passes AA but fails AAA
  • Deciding between two greys for secondary text
  • Measuring how far a printed or converted colour has drifted from the original
  • Settling whether two near-identical colours are worth keeping apart at all

Questions

4.5:1 for normal text at AA, 3:1 for large text and interface components, 7:1 for normal text at AAA, and 4.5:1 for large text at AAA — which is the fourth badge, and why a pair can show AAA large while failing AAA text.

W3C. WCAG 2.2 contrast minimumCIE — colour difference and the Lab space
Was this tool any good?
Internal signal only · I use it to find the tools worth rebuilding