Font Converter

Font Contrast Ratios Guide

Master WCAG 2.1 contrast ratio requirements for accessible text. Learn the 4.5:1 ratio for normal text, 3:1 for large text, how font weight affects contrast, testing tools, and proven accessible color combinations.

TL;DR - Key Takeaways

  • • Normal text requires 4.5:1 contrast ratio (WCAG AA), 7:1 for AAA
  • • Large text (24px+ or 18.5px+ bold) requires 3:1 contrast (AA), 4.5:1 for AAA
  • • Pure black on pure white (#000 on #FFF) is 21:1, maximum possible contrast
  • • Use contrast checker tools to verify compliance before publishing

Share this page to:

Color contrast between text and its background is critical for accessibility. Approximately 253 million people worldwide have some form of vision impairment, including low vision, color blindness, and age-related vision decline. Adequate contrast ensures that text is readable for users with visual impairments, users viewing content on low-quality displays, users in bright sunlight or challenging lighting conditions, and users with aging eyes who experience reduced contrast sensitivity.

The Web Content Accessibility Guidelines (WCAG) 2.1 establishes mathematical formulas for calculating contrast ratios and specific minimum thresholds for different types of text. These requirements are not arbitrary—they are based on extensive research into human vision, particularly focusing on people with moderately low vision (approximately 20/40 vision) who don't use assistive technology. The guidelines balance accessibility needs with design flexibility, allowing creative expression while ensuring fundamental readability.

Understanding contrast ratios involves more than simply passing automated tests. Font weight, size, letterforms, and even anti-aliasing affect how easily users can distinguish text from its background. This guide explores the mathematical foundations of contrast ratios, WCAG requirements for different text sizes and purposes, how font characteristics affect perceived contrast, practical testing methodologies, and strategies for creating accessible color palettes.

Whether you're designing a website, mobile application, or digital document, mastering contrast ratios is essential for creating inclusive experiences. The good news is that meeting these requirements doesn't limit creative expression—many beautiful, brand-aligned color combinations achieve excellent contrast. With the right tools and knowledge, you can design visually appealing interfaces that work for everyone.

Understanding Contrast Ratios

A contrast ratio is a mathematical expression of the luminance (brightness) difference between two colors. WCAG uses a formula that calculates the relative luminance of foreground and background colors to produce a ratio between 1:1 (no contrast, same color) and 21:1 (maximum contrast, black on white or white on black).

The Contrast Ratio Formula

The WCAG contrast ratio formula is:

(L1 + 0.05) / (L2 + 0.05)

Where L1 is the relative luminance of the lighter color and L2 is the relative luminance of the darker color

Relative luminance is calculated from RGB color values using a complex formula that accounts for how human eyes perceive different color channels. Green contributes most to perceived brightness, followed by red, then blue. This is why pure green appears much brighter than pure blue even at the same RGB intensity values.

Note: You don't need to calculate this manually—automated tools handle the math. Understanding the concept helps you make informed color choices.

Low Contrast

1.5:1 - Fails WCAG

Very difficult to read, especially for users with low vision or color blindness

Minimum Contrast

4.5:1 - WCAG AA

Minimum for normal text, readable for most users in typical conditions

Enhanced Contrast

7:1+ - WCAG AAA

Enhanced level, excellent readability in all conditions including bright sunlight

Important: Contrast Perception is Non-Linear

Doubling the numerical contrast ratio doesn't mean text looks "twice as readable." The difference between 3:1 and 4.5:1 is much more noticeable than the difference between 15:1 and 21:1. Most of the readability benefit comes from achieving the minimum thresholds.

WCAG 2.1 Contrast Requirements

WCAG 2.1 defines specific contrast ratio requirements based on text size and conformance level (AA or AAA).

Normal Text (Level AA): 4.5:1 Minimum

Success Criterion 1.4.3 (Contrast Minimum) requires a contrast ratio of at least 4.5:1 for normal-sized text and images of text.

What Qualifies as Normal Text:

  • Text smaller than 24px (18pt) at regular weight
  • Text smaller than 18.5px (14pt) at bold weight
  • Most body copy, navigation links, form labels, captions

Passes AA (4.52:1)

This text on white background meets 4.5:1 minimum

Fails AA (2.85:1)

This text is too light and fails contrast requirements

Large Text (Level AA): 3:1 Minimum

Large text has relaxed contrast requirements because larger letterforms are easier to distinguish from backgrounds even at lower contrast. The minimum contrast ratio for large text is 3:1.

What Qualifies as Large Text:

  • 24px (18pt) or larger at regular font weight (400)
  • 18.5px (14pt) or larger at bold font weight (700+)
  • Typically headlines, hero text, large callouts

Why the Relaxed Requirement:

Larger text has thicker strokes and more distinct letterforms, making it readable even at lower contrast. This provides designers with more flexibility for large decorative headings while maintaining accessibility. However, aiming for higher contrast (4.5:1+) is still recommended even for large text when possible.

Enhanced Contrast (Level AAA)

Success Criterion 1.4.6 (Contrast Enhanced) defines higher thresholds for Level AAA conformance, ensuring readability for users with more significant vision impairments.

Normal Text (AAA)

7:1 minimum contrast ratio

Significantly higher than AA requirement, recommended for critical content and users with low vision

Large Text (AAA)

4.5:1 minimum contrast ratio

Same as normal text AA requirement, ensures excellent readability for headings

When to Target AAA

AAA conformance is recommended (but not always required) for government sites, healthcare applications, educational platforms, and content specifically designed for elderly or low-vision users. Most commercial websites aim for AA as a balance between accessibility and design flexibility.

Quick Reference Table

Text SizeWeightAA RatioAAA Ratio
< 24pxNormal (400)4.5:17:1
< 18.5pxBold (700)4.5:17:1
≥ 24pxNormal (400)3:14.5:1
≥ 18.5pxBold (700)3:14.5:1

How Font Weight Affects Contrast Requirements

Font weight significantly impacts how contrast is perceived. Heavier weights have thicker strokes that make letters more distinct from the background, effectively improving perceived contrast even when the mathematical contrast ratio remains the same.

Bold Text Threshold (700+ Weight)

WCAG defines bold as font-weight of 700 or higher. At 18.5px or larger, bold text qualifies as "large text" and only needs 3:1 contrast instead of 4.5:1. This reflects how bold strokes improve readability.

18px Normal Weight

Needs 4.5:1 contrast

18px Bold Weight

Needs only 3:1 contrast

Light Weights Require More Contrast

While WCAG doesn't specify increased requirements for light weights (100-300), thin strokes are objectively harder to read at lower contrast. If using light font weights, aim for higher contrast ratios (6:1+ even for large text) and avoid using them below 20px.

Best Practice: Avoid font weights below 400 for body text. Light weights should be reserved for large decorative headings with excellent contrast.

Variable Font Weights

Variable fonts allow precise weight control from 100-900. For accessibility, ensure any weights below 700 follow normal text contrast requirements (4.5:1 for AA) regardless of size, unless the font is 24px+ and at least 400 weight.

Contrast Testing Tools

Numerous free tools help you verify contrast ratios during design and development.

WebAIM Contrast Checker

The most popular online contrast checker. Enter foreground and background colors as hex codes, and instantly see whether your combination passes WCAG AA and AAA for normal and large text.

webaim.org/resources/contrastchecker

Best for: Quick spot-checks during design. Simple, reliable, trusted by accessibility professionals worldwide.

Colour Contrast Analyser (CCA)

Desktop application (Windows/Mac) from TPGi with eyedropper tool to sample colors directly from your screen. Provides real-time contrast feedback and simulates color blindness.

Download from TPGi

Best for: Testing existing designs and websites. Eyedropper functionality makes it easy to check implemented designs.

Chrome DevTools

Built-in contrast checker in Chrome/Edge DevTools. Inspect any text element, and the color picker shows contrast ratio with suggestions for passing colors. Also provides contrast ratio in the Accessibility panel.

Best for: Developers testing in-browser. No additional tools needed, integrates with development workflow.

Figma/Adobe XD Plugins

Design tool plugins like "Stark" (Figma, Adobe XD) and "Contrast" (Figma) check contrast ratios within your design files, allowing you to fix issues before development.

Best for: Designers working in Figma or Adobe XD. Catches accessibility issues during design phase.

WAVE Browser Extension

Comprehensive accessibility evaluation tool that identifies contrast errors on live websites. Highlights failing elements and provides detailed reports.

Best for: Full-page accessibility audits. Identifies all contrast issues at once rather than checking individual elements.

Automated Testing (axe, Lighthouse)

Automated accessibility testing tools like axe DevTools and Lighthouse (built into Chrome) automatically detect contrast failures during testing. Integrate into CI/CD pipelines for continuous monitoring.

Best for: Continuous integration and regression prevention. Catches contrast regressions before deployment.

Accessible Color Combinations

Pre-verified color combinations that meet WCAG requirements.

Dark Text on Light Backgrounds (AA)

#000000#FFFFFF

Black on White

21:1 - Maximum contrast

#333333#FFFFFF

Dark Gray on White

12.6:1 - Excellent

#595959#FFFFFF

Medium Gray on White

5.7:1 - AA Large

Light Text on Dark Backgrounds (AA)

#FFFFFF#000000

White on Black

21:1 - Maximum contrast

#F0F0F0#1F1F1F

Off-White on Dark Gray

14.8:1 - AAA

#E0E0E0#333333

Light Gray on Charcoal

10.4:1 - AAA

Brand Colors (Common Accessibility-Safe Options)

#0066CC#FFFFFF

Blue on White

7.3:1 - AAA

#D73F09#FFFFFF

Orange on White

4.5:1 - AA

#008000#FFFFFF

Green on White

4.7:1 - AA

Colors That Often Fail

  • Light gray text (#999, #AAA) on white backgrounds - typically 2-3:1
  • Yellow (#FFFF00) on white - only 1.07:1, essentially invisible
  • Bright red (#FF0000) on white - 4.0:1, fails AA for normal text
  • Light blue (#00BFFF) on white - 2.9:1, fails AA entirely

Best Practices for Contrast Accessibility

Test Early and Often

Check contrast during design phase, not after development. Use Figma/Adobe XD plugins to validate color choices before they're implemented in code.

Aim Higher Than Minimum

Don't settle for exactly 4.5:1. Aim for 5:1 or higher to provide buffer against subtle rendering differences across browsers and devices. Environmental factors like screen glare can reduce perceived contrast.

Consider Color Blindness

Contrast ratios don't account for color blindness. Never rely solely on color to convey information—use icons, labels, or patterns in addition to color. Test with color blindness simulators.

Test on Actual Devices

Desktop monitors often display better contrast than mobile devices, especially in bright sunlight. Test your color choices on phones and tablets in various lighting conditions.

Document Your Color System

Create a design system documenting which text colors work on which background colors. This prevents designers and developers from creating inaccessible combinations.

Create Accessible Typography

Convert and optimize fonts for your accessible website with proper contrast and readability.

Start Converting Fonts
Sarah Mitchell

Written & Verified by

Sarah Mitchell

Product Designer, Font Specialist

Contrast Ratio FAQs

Common questions about WCAG contrast requirements