WCAG Contrast Checker
Compute color contrast ratio per WCAG 2.1 SC 1.4.3. Pass/fail verdict for AA + AAA at normal and large text sizes, plus UI component contrast (3:1). Live preview.
WCAG Contrast Checker
The quick brown fox jumps over the lazy dog.
Normal text — 16px regular body copyLarge heading text
Large text — 24px+ regular OR 18.66px+ boldHow to use the WCAG Contrast Checker
Enter your foreground (text) and background colors
Use the color pickers for visual selection or type 6-digit hex codes directly. Both work in sync — typing a hex updates the picker, picking a color updates the hex. 3-digit shorthand (#FFF) is auto-expanded to 6-digit. Common starting points: typical body text ~#222 on ~#FFF (16.7:1 — excellent). The default values represent RECATOOLS' actual body text (#1a1814 on #f7f6f3).
Read the contrast ratio and verdict cards
The big number is the contrast ratio per WCAG 2.1's relative luminance formula. Higher is better. The five verdict cards check against WCAG thresholds: AA Normal (4.5:1) — the minimum standard for normal text. AA Large (3:1) — relaxed standard for large text (24px+ regular or 18.66px+ bold). AAA Normal (7:1) — enhanced standard for accessibility-critical applications. AAA Large (4.5:1) — enhanced standard for large text. UI Components (3:1) — buttons, form fields, icons.
Verify with the live preview
The two preview boxes show actual text rendered with your chosen colors — one in normal body size, one in heading size. Trust your eyes too: if you struggle to read the preview, users with low vision will struggle more. Modern usability research (Nielsen Norman Group, WebAIM) consistently finds that contrast below 4.5:1 hurts reading speed and comprehension even for users with normal vision.
Aim for AAA when you can
WCAG AA is the legal minimum in most jurisdictions (EU EN 301 549, US Section 508, UK Equality Act 2010, AODA in Ontario). AAA is the aspirational standard — government sites, banking, healthcare, education increasingly require it. Singapore's Tripartite Guidelines on Workplace Accessibility require AA. Most large ASEAN tech companies (Grab, Shopee, GoTo, Sea) target AA across their apps. For brand-critical body text, target 7:1+ (AAA) — accessibility is also good usability.
Color contrast — the math behind accessibility
The Web Content Accessibility Guidelines (WCAG) 2.1, published by the W3C in 2018, define quantitative thresholds for color contrast. The core formula computes the "relative luminance" of each color (a weighted measurement of how bright it appears to humans, weighted by sensitivity to red/green/blue), then calculates the contrast ratio between the two luminances. The math accounts for: human eye sensitivity to green being higher than to red and blue (weights 0.2126R + 0.7152G + 0.0722B); gamma correction (sRGB color values are non-linearly related to perceived brightness); the addition of a small constant (+0.05) to ensure the formula never divides by zero. The result is a unitless ratio: 1:1 means identical colors (invisible), 21:1 is the maximum (pure white on pure black).
Why 4.5:1 is the minimum standard
WCAG 2.1 AA mandates 4.5:1 for normal text because research shows that this ratio supports reading by users with 20/40 vision (most adults over 50, plus many younger people with uncorrected vision issues). Lower ratios produce significant reading slowdowns and errors, even for users with perfect vision. The 7:1 AAA threshold supports 20/80 vision — users with significant visual impairment. The 3:1 relaxation for large text reflects the fact that bigger characters tolerate less contrast — but "large" is precisely defined as ≥18pt (24px) regular weight or ≥14pt (18.66px) bold weight, not whatever YOU consider large. Below those sizes, AA still requires 4.5:1 even for headings styled as "large".
4.5:1 is the WCAG minimum because that's the contrast threshold below which 20/40-vision adults (most over 50) struggle to read. It's not arbitrary — it's calibrated against actual reading research.
Why color alone is never enough
Even with perfect contrast, color alone is insufficient for conveying information. About 4-8% of men and 0.5% of women have some form of color vision deficiency (most commonly red-green colorblindness). For these users, two colors with high contrast ratios might be indistinguishable. WCAG SC 1.4.1 ("Use of Color") requires that color never be the only way to convey information — error states should also use icons or text labels, not just red borders; links should be underlined, not just blue; chart series should differ in shape/pattern as well as color. The contrast checker handles the brightness math; you still need to design for colorblind users separately.
The ASEAN accessibility-regulation angle
Accessibility regulation across ASEAN is uneven but rapidly maturing. Singapore: government services follow WCAG 2.1 AA per the Digital Service Standards; private companies face increasing pressure from the Tripartite Guidelines + IMDA Digital Readiness Blueprint. Malaysia: the Persons with Disabilities Act 2008 + MyDigital Blueprint reference WCAG AA. Philippines: the Magna Carta for Disabled Persons (RA 7277) + Digital Bayanihan initiatives include accessibility provisions. Indonesia / Thailand / Vietnam: emerging requirements, less strictly enforced. Australia (close ASEAN partner): Disability Discrimination Act 1992 + DTA mandates make WCAG 2.1 AA effectively legal minimum for government services. Globally, the EU's European Accessibility Act (effective June 2025) makes WCAG 2.1 AA mandatory across all EU consumer-facing digital services — affecting ASEAN-based companies serving EU customers. Singapore Government Tech (GovTech), Malaysian MAMPU, and Indonesia's KOMINFO all reference WCAG AA in their development standards.
10 Things to Know About WCAG Contrast
The WCAG contrast formula computes relative luminance of each color, then takes the ratio: (lighter + 0.05) / (darker + 0.05).
WCAG AA Normal text: 4.5:1. AA Large: 3:1. AAA Normal: 7:1. AAA Large: 4.5:1. UI components: 3:1.
"Large text" per WCAG: ≥18pt (24px) regular OR ≥14pt (18.66px) bold. Below these sizes, AA still requires 4.5:1.
Maximum possible contrast ratio is 21:1 — pure white (#FFF) on pure black (#000). The minimum is 1:1 (identical colors).
~4-8% of men and ~0.5% of women have some form of color vision deficiency. Color alone is never enough for conveying information.
The formula weights green more heavily than red or blue: 0.2126R + 0.7152G + 0.0722B — matching human eye sensitivity.
WCAG AA is the legal minimum in most jurisdictions: EU EN 301 549, US Section 508, UK Equality Act 2010, Canadian AODA.
The European Accessibility Act (effective June 2025) makes WCAG 2.1 AA mandatory across all EU consumer-facing digital services.
About 1 in 4 adults over 65 has some form of vision impairment. Accessible design helps everyone — not just users with declared disabilities.
WCAG 3.0 (in draft) introduces a new contrast formula called APCA (Advanced Perceptual Contrast Algorithm) — better accounts for human perception.
Frequently Asked Questions
-
AA is the standard level — required by most accessibility laws (EU EN 301 549, US Section 508, UK Equality Act). AAA is the enhanced level — aspirational, often required for government / banking / healthcare / education services. For body text: AA = 4.5:1, AAA = 7:1. For large text: AA = 3:1, AAA = 4.5:1. AAA is harder to achieve while still allowing creative design choices, so it's often not feasible for marketing-heavy sites. Aim for AA as a baseline; AAA for accessibility-critical content (legal text, error messages, primary navigation, body content).
-
Per WCAG 2.1, "large text" is precisely defined as: 18 point (24px) or larger at regular font weight, OR 14 point (18.66px) or larger at bold weight (700+). The 3:1 contrast relaxation only applies to text meeting these exact specifications. Headings styled large but rendered at 22px don't qualify for the relaxation. When in doubt, target AA Normal (4.5:1) for all text — it's safer and matches actual rendering more reliably.
-
It's the threshold below which users with 20/40 vision (most adults over 50, plus many younger people with uncorrected vision issues) struggle to read. Below 4.5:1, reading speed drops measurably and error rates increase. 4.5:1 was chosen by WCAG working group based on extensive empirical research with low-vision users. The number isn't arbitrary — it's calibrated against actual reading performance. Higher (7:1 AAA) supports 20/80 vision; lower fails for too many users to be acceptable.
-
UI components (buttons, form fields, focusable controls, icons that convey information) need 3:1 contrast against adjacent colors (WCAG 1.4.11). Logos and decorative imagery are EXEMPT from contrast requirements per WCAG. Charts and data visualisations need to convey information through more than just color — patterns, labels, or direct annotation work alongside color. For data points in charts, AAA-style 7:1 is best for accessibility-critical visualisations (medical, financial). The contrast checker is for any two-color comparison; apply WCAG semantics yourself based on what the colors represent.
-
WCAG 2.1's contrast ratio is the current standard (since 1998 origins) — uses relative luminance + ratio formula. APCA (Advanced Perceptual Contrast Algorithm) is a newer approach being developed for WCAG 3.0 — uses a different "Lc" (Contrast Lightness) metric that better accounts for human perception, especially at extreme dark backgrounds. Most current accessibility regulations require WCAG 2.x compliance (ratio-based). APCA is more accurate but not yet legally required anywhere. Use WCAG ratios for compliance; APCA is an additional tool for design refinement.
-
Common problem — brand color decks often have insufficient contrast. Solutions: (1) Darken the brand color for text use, lighter version for decorative use. (2) Use brand colors only for accents, with high-contrast neutrals for body text. (3) Pair brand color with white or black depending on luminance — typically dark brand colors get white text, light brand colors get dark text. (4) Reserve low-contrast brand combos for headings only (where AA Large 3:1 applies). Many large brands maintain "primary" and "accessible" variants of each brand color for different uses.
-
No. Contrast is necessary but not sufficient. Also check: Color vision deficiency: 4-8% of men can't reliably distinguish red from green; use the colorblindness simulator alongside this. Reading complexity: jargon-heavy text needs higher contrast than casual content. Cognitive load: motion, distractions, multiple colors compound. Real-user testing: contrast checking is automated; actual users with disabilities will surface issues no tool catches. WCAG compliance is a baseline, not a ceiling.
-
Text over images / videos / gradients is tricky — the background luminance varies. Two strategies: (1) Add a semi-transparent overlay (dark or light) between the image and text to ensure consistent contrast. (2) Use a solid-color text container or text-shadow technique. For gradients, test against the LIGHTEST point of the gradient (the worst case for dark text). WCAG technically requires the text to maintain 4.5:1 against ANY part of the background — not just the average. Static screenshots of your design with the live text overlaid let you sample contrast at different background regions.
-
No. All calculations run entirely in your browser via JavaScript. There's no server roundtrip — open DevTools → Network and confirm zero outbound requests. Your color values stay on your device. Safe for confidential brand work, unannounced design systems, or any UI work that shouldn't leave your machine.
-
Varies. Singapore: government services follow WCAG 2.1 AA per Digital Service Standards; private sector increasingly aligned via IMDA Digital Readiness Blueprint + Tripartite Guidelines on Workplace Accessibility. Malaysia: WCAG AA referenced in MyDigital + Persons with Disabilities Act 2008. Philippines: Magna Carta for Disabled Persons (RA 7277) covers accessibility broadly. Indonesia/Thailand/Vietnam: emerging requirements, less strictly enforced. EU's European Accessibility Act (effective June 2025) makes WCAG 2.1 AA mandatory for EU consumer services — ASEAN companies serving EU customers must comply. Best practice: target WCAG 2.1 AA across all consumer-facing services regardless of jurisdiction; it's both ethically right and legally future-proof.
Related News
You may be interested in these recent stories from our newsroom.
-
NEXTDC Opens Peninsular Malaysia's First Tier IV Data Centre with RM2.8 Billion KL1 Launch in Petaling Jaya
NEXTDC officially opened KL1 in Petaling Jaya on 14 May 2026 — an AUD$1 billion facility that holds Peninsular Malaysia's first Uptime Insti...
-
Indonesia's INA Locks In 30% Annual Allocation for AI and Data Centre Infrastructure
Indonesia's sovereign wealth fund INA has formalised a 30% annual cap on digital sector deployment, anchored by a joint venture with Singapo...
-
Microsoft Build 2026: Project Polaris Cuts Copilot's OpenAI Dependency, Copilot Workspace Ships to GA
Microsoft confirmed at Build 2026 in San Francisco that GitHub Copilot will run on Project Polaris — its own mixture-of-experts coding model...
75 more free tools
Calculators, converters, security tools — no signup.