Image Colour Contrast Checker

Drop in images for WCAG 2.2 AA / AAA compliance and advanced perceptual checks. Runs entirely in your browser — nothing is uploaded.

What the checks mean

Show/hide explanations

For every colour combination found in an image, the tool runs six checks, grouped into formal WCAG compliance and advanced perceptual checks. Open any check below to see what it measures, the thresholds used, and where to read more. All checks are automated and indicative — manual verification is still required before citing for formal WCAG compliance.

WCAG compliance

WCAG AA

The minimum contrast ratio required by WCAG 2.2 Success Criterion 1.4.3 Contrast (Minimum). Text must reach 4.5:1, or 3:1 for large text (here, an OCR box height of 24 px or more). The ratio is computed from the sRGB relative luminance of the sampled foreground and background colours.

WCAG AAA

The enhanced contrast target from WCAG 2.2 Success Criterion 1.4.6 Contrast (Enhanced). Text must reach 7:1, or 4.5:1 for large text. AAA is the standard this tool targets for its own interface.

Advanced checks

APCA

The Advanced Perceptual Contrast Algorithm models how the human eye actually perceives lightness, accounting for text polarity (light-on-dark vs dark-on-light) in a way the WCAG ratio does not. It reports a lightness-contrast value, Lc, from 0 to roughly ±108.

This tool reads the absolute Lc: below 45 fails, 45–59 is borderline (large text only), 60 or above passes. APCA is in public beta and is not yet a WCAG requirement — it is shown as an extra perceptual signal, computed with the official apca-w3 implementation.

CVD contrast

The same WCAG contrast ratio, recalculated as the two colours appear to viewers with a colour-vision deficiency (CVD): deuteranopia (green-blind), protanopia (red-blind) and tritanopia (blue-blind). Colours are transformed with the Machado, Oliveira & Fernandes (2009) matrices in linear-RGB space, then the contrast is recomputed.

A combination is flagged when it passes WCAG AA for normal vision but drops below the threshold for one of these deficiencies — a difference standard contrast checks miss. Achromatopsia is shown in the whole-image simulation but omitted here, because it preserves luminance and so never changes the ratio.

Vestibular

Highly saturated colours can appear to shimmer or vibrate, which can trigger discomfort, nausea or disorientation for people with vestibular disorders. This check measures the HSL saturation of both the text and the background — saturated text shimmers just as a saturated background does.

The higher of the two saturations is graded: under 60% is safe, 60–79% is a warning, and 80% or above is high risk.

The 60% and 80% cut-offs are this project’s in-house heuristic. The Web Content Accessibility Guidelines (WCAG) do not define a saturation threshold, and the wider accessibility literature treats vestibular trigger thresholds qualitatively rather than numerically. These bands are a team-set rule, not a WCAG requirement.

Cognitive

A derived verdict that combines the other checks into a single plain-language read on cognitive load. It cascades through, in order: text physically too small, failing WCAG contrast, high saturation, an extremely bright pairing (APCA above 105) that causes eye fatigue, a bright saturated pairing that appears to shimmer, and finally very high contrast that can feel “too sharp”.

A HARSH result is not a failure — it flags that contrast above roughly 18:1 can be uncomfortably sharp for some readers, and is worth a manual look.

How the results combine

Every colour combination is graded in two groups. WCAG compliance covers the formal contrast levels — WCAG AA and AAA — that accessibility standards require. Advanced checks cover the perceptual and inclusive-design signals — APCA, CVD contrast, vestibular saturation and the cognitive verdict — which go beyond the formal WCAG ratio.

The report shows each combination with two WCAG badges (AA and AAA) and one rolled-up Advanced-checks badge. The Advanced badge passes when every advanced check is clear, needs review if any warns, and fails if any fails. Every row starts collapsed — open one to see the full per-check breakdown.

Preparing the analysis engine

This tool uses AI to detect text in your images. The models — around 30 MB — download to your browser once, then load instantly on every visit after. You can open What the checks mean above while this finishes.

Starting download…

Drop images here

or

PNG, JPG, WebP — multiple images OK.

100% private — your images never leave your device. No upload. No server.
Automated analysis only. Results are indicative and are designed to speed up accessibility review — manual verification is required before citing for formal WCAG compliance.