What is a contrast checker?
A contrast checker measures how distinguishable two colours are, usually text against its background, and tests the result against the Web Content Accessibility Guidelines. Low contrast makes text hard to read for people with low vision or colour deficiencies, and for everyone in sunlight on a phone.
This checker shows the ratio, pass or fail for each WCAG 2.2 level, a live preview with large text, body text and a button outline, and the closest passing alternative when your text colour falls short. Colours are kept in the link so you can send a result to a designer.
How to use the Colour Contrast Checker (WCAG)
1.Enter two colours
The text colour and the background, by picker or code.
2.Read the ratio
See the contrast ratio and pass or fail for each WCAG level.
3.Fix it
If normal text fails AA, click the suggested colour to apply it.
Example: grey text on white
Testing light greys on #ffffff:
- #777777
- 4.47:1, fails AA for normal text
- #767676
- 4.54:1, passes AA
- #595959
- 7.00:1, passes AAA
- #e5322d (red)
- 4.35:1, fine for large text only
A difference of a single step in the hex code decides pass or fail for #777777 and #767676.
The WCAG thresholds
Contrast ratio compares the relative luminance of two colours, from 1:1 (identical) to 21:1 (black on white). WCAG 2.2 level AA needs 4.5:1 for normal text and 3:1 for large text (24 px, or 18.66 px bold) and for icons, borders and other UI parts. AAA raises text to 7:1 and 4.5:1.
Ratios are truncated, not rounded, as the guidelines require: 4.499 is a fail even though it rounds to 4.5. Semi-transparent text colours are blended with the background first. The suggestion keeps the hue and saturation and changes only lightness.
Frequently asked questions
What contrast ratio do I need?
4.5:1 for normal body text and 3:1 for large text and UI components to meet WCAG AA, which most accessibility laws reference.
Is #777 on white accessible?
Not for normal text: it's 4.47:1 (4.478 before truncation), just under 4.5. #767676 is the lightest grey that passes at 4.54:1.
What counts as large text?
At least 24 px regular, or 18.66 px (14 pt) bold.
Does WCAG 3 change this?
WCAG 3 is still a draft and proposes a different contrast method (APCA). WCAG 2.2 remains the current standard.
Related tools
Colour Picker
Pick a colour and get its codes, tints, shades and harmonies.
HEX ↔ RGB ↔ HSL Converter
Convert a colour between HEX, RGB, HSL, HSV and CMYK, with alpha.
JSON Formatter & Validator
Pretty-print, minify, sort and validate JSON with line-numbered errors.
JSON ↔ CSV Converter
Convert JSON arrays to CSV and CSV back to JSON.
JSON to TypeScript Interface Generator
Generate TypeScript interfaces or types from a JSON sample.
JSON ↔ YAML Converter
Convert JSON to YAML and YAML to JSON.