Skip to content
WCAG contrast · AA / AAA · normal · large · non-text

Accessibility Color Checker

Test any text/background pair against the full set of WCAG contrast thresholds at once — with a live preview and a one-click fix that finds the nearest passing color in your own hue.

01 · The pair
Text
Background
Contrast ratio
4.76:1
Passes AA
Normal AA (4.5)Normal AAA (7)Large AA (3)Large AAA (4.5)UI / graphics (3)
Live preview

The quick brown fox jumps over the lazy dog

Body copy at a normal reading size. If this paragraph is hard to read at a glance, the ratio is telling you the truth — adjust the lightness until it sits comfortably above 4.5:1.

OutlinedFilled button
02 · Deep analysis

Every threshold & the grayscale truth

WCAG threshold matrix
Normal AAneeds 4.5:1Pass
Normal AAAneeds 7:1Fail
Large AAneeds 3:1Pass
Large AAAneeds 4.5:1Pass
UI / graphicsneeds 3:1Pass

WCAG 1.4.3 (AA) / 1.4.6 (AAA) for text; 1.4.11 for non-text UI & graphics.

Luminance & grayscale survival
Text luminance
17.1%
BG luminance
100.0%
Grayscale— contrast is luminance-based, so a passing pair stays legible here and for color-vision deficiency.

Contrast guarantees luminance separation, not hue separation. Never encode meaning by color alone — pair it with text, icons or patterns so the ~8% with CVD aren't lost.

Field notes

Contrast is a luminance problem, not a color one

The single most useful thing to understand about accessible color is that contrast is about luminance — how much light a color reflects to the eye — not hue. The WCAG formula linearizes each channel out of its sRGB gamma, weights them by the eye's sensitivity (green counts more than three times as much as blue), and compares the brighter against the darker. That's why two colors can look pleasantly different and still fail: if their luminances are close, the text smears into the background for anyone with reduced acuity, in bright sunlight, or on a cheap panel.

The thresholds aren't arbitrary. 4.5:1 for normal text is calibrated to keep body copy legible for users with roughly 20/40 vision without assistive tech; 7:1 (AAA) targets 20/80. Large text gets a pass to 3:1 because thicker strokes carry more light. And since WCAG 2.1, the same 3:1 minimum extends to the things people forget — focus rings, input borders, icons that carry meaning — because an invisible focus indicator is an accessibility failure even when the text is perfect.

When a pair fails, the instinct is to reach for black or white, but that throws away the brand. The better move is the smallest perceptual change that clears the bar, which is exactly what the fix-it here does: it walks the OKLCH lightness axis, holding your hue and chroma fixed, and returns the nearest lightness that passes. The result still reads as your color — just light or dark enough to be legible.

Finally, contrast is necessary but never sufficient. A red/green pair can ace the ratio and still be meaningless to a red-green color-blind reader if hue is the only signal. Use this checker to win the luminance battle, then build redundancy — labels, icons, patterns — so meaning survives. Convert and inspect any color in the Multi-Format Converter, and build an even, accessible range in the Color Scale Generator.

Color Accessibility FAQs

Have more questions? Contact us

Trusted by Accessibility & Design Teams

4.8
Based on 3,870 reviews

The full threshold matrix — normal/large × AA/AAA plus the 3:1 non-text row — in one view is exactly the WCAG audit I run, and the live preview with real heading + body + button is far more honest than a bare ratio. The OKLCH fix-it that keeps my hue is genuinely clever.

P
Priya Anand
Accessibility engineer
June 14, 2026

Most checkers fail you and stop. This one suggests the nearest-lightness passing color in the same hue, so the token still looks on-brand. That closed-loop 'fail → fix → pass' is the workflow. Fast, in-browser, accurate to the WCAG math.

L
Liam Fraser
Design systems lead
May 26, 2026

Swap button, presets, and the non-text 3:1 check for focus rings and icons cover the cases I always forget. The reminder that contrast ≠ color-blind-safe is the right caveat. Would love a gradient-background mode, but for solid pairs it's flawless.

S
Sofia Marchetti
Front-end developer
March 30, 2026

The grayscale-survival framing finally made a stakeholder understand why luminance contrast matters. Big readout, clear pass/fail, one-click fix that respects the brand hue. This is the contrast tool I keep open.

N
Noah Bergström
Product designer
January 18, 2026

Love using our calculator?

Connected instruments

Related color tools

Learn More

Related Articles

Dive deeper with our expert guides and tutorials related to Accessibility Color Checker

Loading articles...

ratio = (L1+0.05)/(L2+0.05) · AA 4.5 / AAA 7 (normal) · 3 / 4.5 (large) · 3 (non-text) · Last reviewed: 2026-06