Calculate APCA lightness contrast (Lc) — the polarity-aware perceptual model being developed for WCAG 3. Get the Lc score, a rough usage band, and the WCAG 2 ratio alongside, with the status stated honestly: APCA is a public beta, not today’s conformance requirement.
Settings
Generated locally in your browser — your settings and results never leave this page.
The likely future of contrast, on honest terms
The WCAG 2 contrast ratio — venerable, legally embedded — models vision crudely: it ignores polarity (light-on-dark and dark-on-light score identically), underweights spatial factors (thin fonts fail readers the formula passes), and misjudges parts of the gamut. APCA is the candidate successor developed within the WCAG 3 effort: polarity-aware, font-size-and-weight-aware, built on contemporary vision science. This calculator implements it precisely and frames it precisely — a better model, not yet the rule.
Lc scores and their bands
APCA outputs lightness contrast from about −108 (white on black) to +106 (black on white); magnitude carries the meaning, sign carries the polarity. Working bands: 90+ suits body text of any size; 75 is the body-text baseline; 60 covers large or bold text; 45 headlines; 30 the minimum for any text-like element; below that, decoration. Where WCAG 2 hands down pass/fail at one size threshold, APCA hands you a curve — the calculator prints your score’s band alongside the WCAG 2 ratio for the same pair.
Where the models disagree, and why it matters
The famous divergences: dark-mode pairs WCAG 2 approves that read poorly (APCA scores them honestly lower — its polarity term at work), and dark-on-light pairs WCAG 2 rejects at 4.4:1 that APCA rates comfortably readable. Design systems increasingly consult both: WCAG 2 as the compliance floor (it remains the cited standard in ADA, EAA and Section 508 contexts), Lc to choose the genuinely better option among passing candidates — especially for dark themes, where WCAG 2 is weakest.
Version and status, pinned
This implementation uses the 0.0.98G-4g constants — the current public algorithm — and says so because APCA is a moving target: constants have been revised before and WCAG 3 remains a working draft years from normative force. The permanent on-page warning is not hedging but accuracy: use APCA to design better today, cite WCAG 2 to comply today, and revisit when the standard lands.
How to use the APCA Contrast Calculator
- Pick text and background colors.
- Read the Lc score, its usage band, and the WCAG 2 ratio alongside.
- Note the beta status before using it for compliance decisions.
Frequently asked questions
What is APCA in one paragraph?
The Accessible Perceptual Contrast Algorithm – a candidate replacement for the WCAG 2 contrast formula, built on modern vision science. It outputs Lc (lightness contrast) from roughly -108 to +106, is polarity-aware (dark-on-light scores differently from light-on-dark), and ties its thresholds to font size and weight instead of one-size-fits-all ratios.
How do I read an Lc score?
Magnitude bands, roughly: 90+ body text at any size, 75 the body-text baseline, 60 large/bold text, 45 headlines only, 30 placeholder-grade, below that not text. Positive means dark text on light; negative the reverse. The calculator prints the band with your score.
Why does APCA disagree with WCAG 2 on some pairs?
WCAG 2's ratio has known blind spots – it over-approves some light-on-dark pairs and over-rejects some dark-on-light ones, especially around oranges and mid-blues. APCA models polarity and spatial frequency, matching perception studies better. The famous #777-on-white passes WCAG marginally and APCA comfortably; some white-on-orange pairs flip the other way.
Can I use APCA for legal compliance today?
No – and this page says so in its permanent warning. WCAG 2.x ratios remain the normative requirement everywhere WCAG is cited (ADA, EAA, Section 508). APCA is the likely future via WCAG 3, which is an unfinished draft. Use APCA to design better, WCAG 2 to certify.
What does "polarity-aware" mean practically?
Swap your text and background and the score changes magnitude, not just sign – light-on-dark genuinely reads differently to the eye (halation), and APCA encodes it. WCAG 2 gives the identical ratio both ways; the calculator shows both numbers so the difference is visible.
Which APCA version does this implement?
The 0.0.98G-4g constants – the current public algorithm as documented by its author. APCA is under active development and constants have changed before; the version is pinned here so results are reproducible and comparable.
How should teams use APCA and WCAG together right now?
The pragmatic recipe: require WCAG 2 AA (compliance floor), then use Lc to arbitrate within passing options – preferring pairs that also clear the appropriate APCA band, especially for dark modes where WCAG 2 is weakest. Both numbers are side by side here for exactly that workflow.