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 Contrast Checker | GetColors contrast checker | |
|---|---|---|
| Inputs | Hex values or a color picker; an alpha value for the foreground; lightness sliders | Hex values or a color picker, and a button to swap text and background |
| WCAG 2 results | AA and AAA for normal and large text, and AA for graphical objects and user interface components | AA and AAA for normal text, AA for large text, and the 3:1 check for UI components |
| APCA | Not mentioned on the page | The Lc value, with what it is readable for |
| When text fails | Adjust the lightness sliders yourself | Suggests the nearest text color that reaches 4.5:1 and applies it in one click |
| Shareable link | A permalink with both colors in the address | Not in the contrast checker; the visualizer and scale tools keep their state in the link |
| API | Add &api to a permalink for JSON with the ratio and the AA/AAA pass or fail states | GET /api/v1/contrast?fg=0000FF&bg=FFFFFF returns the ratio, AA/AAA pass or fail and APCA Lc, with no key |
| Checking many colors | A bookmarklet with eyedroppers, and the WAVE tool for all text on a page | Contrast 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.
| APCA value | Use |
|---|---|
| Lc 90 and above | Preferred for body text |
| Lc 75 and above | Fine for body text |
| Lc 60 and above | Content text, not long reading |
| Lc 45 and above | Large or bold text, headings |
| Lc 30 and above | Non-text elements, placeholder text |
| Lc 15 and above | Dividers 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.