WCAG Color Contrast Checker

How to use 3 steps
  1. Pick the Text Color.
  2. Pick the Background Color.
  3. Read the contrast ratio and the WCAG AA and AAA results; adjust until the level you need passes.

Read the full guide

Sample Preview Text (WCAG Check)
WCAG 2.1 Audit Results
Loading the tool… 0 of 3 parts

Getting the tool ready. On a slow connection this can take a few seconds.

How this tool works

The ratio is calculated the way the accessibility guidelines define it: each colour is converted to a relative luminance, with the three channels weighted for how bright the eye perceives them — green counts for far more than blue — and the two luminances are compared as a ratio between 1 and 21. Identical colours give 1:1; black against white gives 21:1. It is a measure of light difference rather than of colour difference, which is why two colours that look quite distinct can still fail.

Two thresholds are reported: 4.5:1, which is the AA minimum for ordinary body text, and 7:1, which is the enhanced AAA level. These are the figures for normal-sized text, and they are the ones that matter most often, because body copy is where readability is won or lost.

Reading the result honestly

  • The thresholds shown are for normal-sized text: large text — around 24px, or 19px when bold — is held to 3:1 for AA and 4.5:1 for AAA. A headline that fails here may still pass at its actual size.
  • Interface elements have their own minimum: buttons, borders, focus rings and icons that convey meaning need 3:1 against what surrounds them. That is a lower bar than text but it is not zero.
  • The ratio ignores hue entirely: two colours of similar lightness fail however different they look, which is exactly the point — it is modelling readers who do not distinguish those hues.
  • Test the colours you will actually ship: text over a gradient, an image or a semi-transparent overlay has no single background colour. Sample the worst point rather than the average one.

Full guide

5 min read

WCAG contrast: the thresholds, and the elements everyone forgets

The ratio measures light rather than colour, which is why distinct-looking colours fail. Which threshold applies where, why focus rings and placeholders are the usual culprits, and how to fix a failure without redesigning.

Read the guide

Frequently Asked Questions

Specific to the WCAG Color Contrast Checker. Broader questions about this category are answered on the category page.

4.5:1 for normal body text at AA. Large text needs 3:1, and interface elements such as borders and icons need 3:1 against their surroundings.
The ratio measures difference in light, not in hue. Two colours of similar lightness fail regardless of how far apart they look, which is the point.
The two figures shown are the normal-text thresholds. Large text is held to 3:1 for AA and 4.5:1 for AAA, so a headline failing here may still pass at its size.
There is no single background colour to test. Sample the lightest and darkest points the text crosses and make sure the worst of them passes.
It is the level most policies require. AAA at 7:1 is meaningfully easier to read, and worth aiming at for long-form body copy where it is achievable.

Subscribe to receive notifications about new tools, features, and productivity tips.