Check whether your text and background colors are readable. Get the exact WCAG contrast ratio, see pass or fail for AA and AAA, preview the result live, and let the tool nudge your text color until it passes.
Large text sample
Normal text sample: the quick brown fox jumps over the lazy dog.
Button or UI outlineThe Web Content Accessibility Guidelines (WCAG) define contrast as a ratio between the relative luminance of two colors, from 1:1 (identical colors) to 21:1 (black on white). Relative luminance is calculated from the red, green and blue channels after converting from the sRGB curve, with green weighted most heavily because the eye is most sensitive to it. Good contrast helps everyone, and is essential for people with low vision or color-vision deficiencies and for anyone reading in bright light.
| Content | Level AA | Level AAA |
|---|---|---|
| Normal text | 4.5 : 1 | 7 : 1 |
| Large text (18pt, or 14pt bold) | 3 : 1 | 4.5 : 1 |
| UI components and graphics | 3 : 1 | — |
Most laws and policies point to Level AA as the practical target. Logos and purely decorative text are exempt, and disabled controls do not have to meet the ratio.
The displayed ratio is truncated, not rounded up, so a result shown as 4.50 really meets 4.5:1.
What contrast ratio do I need for WCAG AA? Normal text needs at least 4.5:1, large text needs at least 3:1, and user interface components and meaningful graphics need at least 3:1.
What counts as large text? Text at 18 point (about 24 CSS pixels) or larger, or 14 point (about 18.7 CSS pixels) or larger when bold.
Is AAA required? Usually not. AAA is a stricter, optional level. Many organizations aim for AA everywhere and use AAA for body text where it is practical.
Does the checker work with 3-digit hex colors? Yes. Short values such as #36C are expanded to #3366CC automatically. Use the color picker if you do not know the hex code.
Why is the ratio the same when I swap the colors? Contrast is symmetrical: it compares the lighter and darker luminance, so text and background can be exchanged without changing the number.