Check WCAG 2.1 color contrast ratio between text and background colors. Instantly see AA and AAA compliance results with a live preview — free online accessibility tool.
Color Contrast Checker is a free, browser-based tool
from UseToolSuite's
Color & CSS Tools collection.
All processing happens locally on your device — your data is never uploaded to any server.
Use the tool below, then scroll down for detailed documentation, frequently asked questions, and related resources.
What is a Color Contrast Checker?
The Color Contrast Checker is a free online tool that calculates the WCAG 2.1 contrast ratio between any two colors — a text (foreground) color and a background color. It instantly evaluates whether the combination meets WCAG AA and AAA accessibility standards for both normal text and large text. The tool accepts HEX, RGB, HSL, and CSS named color inputs with a built-in color picker for visual selection. A live preview shows exactly how your text will look, while PASS/FAIL badges give you clear, actionable results. When a color pair fails, the tool automatically suggests an adjusted color that meets AA compliance — preserving your original hue while adjusting brightness for sufficient contrast. All processing happens entirely in your browser: no data is sent to any server.
When to use it?
Use this tool whenever you choose text and background colors for a website, mobile app, or digital product. WCAG 2.1 compliance is a legal requirement under the ADA (Americans with Disabilities Act), the European Accessibility Act (EAA), and EN 301 549 — making contrast checking essential for any public-facing digital content. Check your color choices during the design phase to avoid costly retroactive fixes, during code review to validate CSS custom properties (design tokens), and during accessibility audits to ensure every page meets the minimum 4.5:1 ratio for normal text.
Common use cases
Web designers use it to verify that brand colors meet accessibility standards before building a design system. Front-end developers check button text, link colors, placeholder text, and error message colors against their respective backgrounds. Product managers use it to document color accessibility compliance for clients and stakeholders. QA engineers use it during accessibility audits to flag contrast violations before deployment. Content creators check whether their blog theme provides sufficient reading contrast for body text and headings. It is also useful for checking contrast ratios in data visualizations, charts, and infographics where color distinctions carry meaning.
What the ratio actually measures
A contrast ratio runs from 1:1 (identical colors) to 21:1 (black on white) and is computed from the relative luminance of each color — a brightness value weighted for human vision (green counts for ~72% of perceived brightness, blue only ~7%). That weighting is why pure green looks far brighter than pure blue despite both maxing one channel. The thresholds you’re checking against:
| Content | AA (minimum) | AAA (enhanced) |
|---|
| Normal text | 4.5:1 | 7:1 |
| Large text (≥24px / 19px bold) | 3:1 | 4.5:1 |
| UI components & graphics | 3:1 | — |
AA is the level most laws reference (ADA, the European Accessibility Act, Section 508). Full AAA across a whole site is rarely required and often impractical, but it’s worth targeting for critical reading content.
Passing the math isn’t the whole job
Contrast is necessary but not sufficient for readability. A pairing can clear 4.5:1 and still be hard to read because of thin font weights (use ≥400 for body text), small sizes (≥16px for body), or vibrating color combinations like saturated blue on black. Always meet the ratio and eyeball the result on a real screen — ideally more than one, since macOS and Windows render text antialiasing differently.
Handling transparency and brand colors
This checker evaluates opaque colors, so for semi-transparent text or backgrounds, composite the layers first: rgba(0,0,0,0.7) over white resolves to roughly rgb(77 77 77) — check that value. And when a brand color fails, don’t change the brand: reserve it for large text and decorative use (where 3:1 suffices), derive a darker or lighter variant for body text by shifting lightness in HSL while keeping the hue, and record the accessible variant as a design token so it’s reused consistently. The Color Converter helps you derive those compliant shades.
How helpful was this tool?
Click to rate
Awesome! Glad it helped.
We don't have a marketing budget. The best way to support this free tool is by sharing it with other developers!
Help us improve!
Sorry it didn't meet your expectations. We're always looking to make these tools better. What was missing or broken?
Open GitHub Issue