A WebAIM Contrast Checker alternative with APCA

The WebAIM Contrast Checker is the tool many people open to test two colors against WCAG 2, and it does that clearly. If you also want APCA, a suggested fix when text fails, or contrast checked across a whole palette or theme, the GetColors contrast checker and its related tools add those, free.

WebAIM and GetColors at a glance

WebAIM facts are from webaim.org/resources/contrastchecker, checked on 16 October 2026.
WebAIM Contrast CheckerGetColors contrast checker
InputsHex values or a color picker; an alpha value for the foreground; lightness slidersHex values or a color picker, and a button to swap text and background
WCAG 2 resultsAA and AAA for normal and large text, and AA for graphical objects and user interface componentsAA and AAA for normal text, AA for large text, and the 3:1 check for UI components
APCANot mentioned on the pageThe Lc value, with what it is readable for
When text failsAdjust the lightness sliders yourselfSuggests the nearest text color that reaches 4.5:1 and applies it in one click
Shareable linkA permalink with both colors in the addressNot in the contrast checker; the visualizer and scale tools keep their state in the link
APIAdd &api to a permalink for JSON with the ratio and the AA/AAA pass or fail statesGET /api/v1/contrast?fg=0000FF&bg=FFFFFF returns the ratio, AA/AAA pass or fail and APCA Lc, with no key
Checking many colorsA bookmarklet with eyedroppers, and the WAVE tool for all text on a pageContrast pairs on every palette page, a visualizer that checks the main text pairs, and a CSS color audit

Where the WebAIM Contrast Checker is strong

WebAIM is based at Utah State University and works on web accessibility, and its checker reflects that focus. The page explains the rules in plain words: WCAG 2.0 level AA needs 4.5:1 for normal text and 3:1 for large text, WCAG 2.1 needs 3:1 for graphics and user interface components, and level AAA needs 7:1 for normal text and 4.5:1 for large text. It defines large text as 14 point bold or 18 point and larger.

It also has a few things we do not: an alpha value for a see-through foreground, a permalink you can paste into a bug report, a bookmarklet that checks colors on any page with eyedroppers, and a link contrast checker for links shown by color alone. If your job is a WCAG 2 audit, it is a good tool to keep using.

WCAG 2 and APCA side by side

WCAG 2 gives one ratio from 1:1 to 21:1, and it does not matter which color is the text. APCA (the Accessible Perceptual Contrast Algorithm) gives an Lc value that changes with which color is the text and which is the background, and it is closer to how people see light text on dark backgrounds. APCA is not a WCAG 2 conformance test, so GetColors shows it as extra guidance next to the WCAG 2 result, never in place of it.

How the GetColors contrast checker describes APCA values.
APCA valueUse
Lc 90 and abovePreferred for body text
Lc 75 and aboveFine for body text
Lc 60 and aboveContent text, not long reading
Lc 45 and aboveLarge or bold text, headings
Lc 30 and aboveNon-text elements, placeholder text
Lc 15 and aboveDividers and decoration only

Try any pair in the contrast checker to see both results at once. The two can disagree, most often on very dark pairs and on white text over mid-tone colors such as orange, so it is worth looking at both before you commit to a brand color for buttons. Where they differ, WCAG 2 is still the result that counts for conformance.

Contrast checks across GetColors

  • The contrast checker shows the WCAG 2 ratio, the AA and AAA results and the APCA value for two colors, with a live text preview and a one-click fix.
  • Every one of the curated palettes has a page that lists which of its color pairs pass for text.
  • The palette visualizer checks body text, button text and muted text on a real layout, in light and dark.
  • The Color System Studio checks each role pair in light and dark mode against WCAG AA and shows the APCA value too.
  • The color audit reads your CSS, Tailwind or shadcn/ui theme and lists contrast failures with a suggested fix.
  • The free REST API returns WCAG and APCA results for any two colors, with no key.

Frequently asked questions

Is there an alternative to the WebAIM Contrast Checker?

Yes. The GetColors contrast checker gives the same WCAG 2 ratio with AA and AAA results, adds the APCA value, and suggests a text color that passes when a pair fails. It is free and needs no account.

Does the WebAIM Contrast Checker support APCA?

On 16 October 2026 the WebAIM Contrast Checker page described WCAG 2.0, WCAG 2.1 and level AAA results and did not mention APCA. GetColors shows both WCAG 2 and APCA for every pair.

What contrast ratio does WCAG 2 AA need?

At least 4.5:1 for normal text and 3:1 for large text, and 3:1 for user interface components and graphics. Level AAA needs 7:1 for normal text and 4.5:1 for large text.

Is there a free API for contrast checks?

Yes. GET /api/v1/contrast with fg and bg hex codes returns the WCAG ratio, the AA and AAA results and the APCA value as JSON, with no key and open CORS.

Is GetColors affiliated with WebAIM?

No. GetColors is an independent product. The WebAIM details on this page come from its contrast checker page, checked on 16 October 2026, and may have changed since.