Color contrast is one of the most commonly failed accessibility criteria on the web. When text doesn't have enough contrast against its background, users with low vision, color blindness, or people viewing screens in bright sunlight simply can't read it. WCAG 2.1 addresses this with specific contrast ratio requirements.

WCAG AA Normal Text
4.5:1 minimum
WCAG AA Large Text
3:1 minimum
WCAG AAA Normal Text
7:1 minimum
Maximum Contrast
21:1 (black on white)

What is Color Contrast?

Color contrast is the difference in luminance between foreground text color and background color. WCAG uses a mathematically defined formula to calculate relative luminance for each color, then derives a contrast ratio from those values. The ratio ranges from 1:1 (no contrast — identical colors) to 21:1 (maximum contrast — black on white).

Why it matters: Approximately 1 in 12 men and 1 in 200 women have some form of color vision deficiency. Millions more experience low vision as they age. Meeting contrast requirements isn't optional — it's a legal requirement under laws like the ADA, Section 508, and EN 301 549.

How to Check Color Contrast

Using an online color contrast checker like SnapUtils is the fastest way to verify your colors. Here's how:

  1. Enter your text color. Use the color picker or type a hex value (e.g., #ffffff for white).
  2. Enter your background color. Type the hex value or pick from screen using the eye dropper tool.
  3. Read the contrast ratio. The tool instantly calculates the contrast ratio and shows you which WCAG levels your color pair passes.
  4. Check the compliance matrix. You'll see pass/fail results for AA normal text, AA large text, AAA normal text, and AAA large text.
  5. Use suggestions if needed. When your colors fail, the tool suggests the nearest accessible alternatives.

Understanding WCAG Contrast Levels

WCAG 2.1 defines two conformance levels with different contrast requirements:

WCAG Level AA

Normal text (under 18pt / 14pt bold): Minimum contrast ratio of 4.5:1. This is the standard requirement for most websites and apps.

Large text (18pt+ regular / 14pt+ bold): Minimum contrast ratio of 3:1. Large text is easier to read, so the requirement is relaxed.

UI components and graphical objects: Minimum contrast ratio of 3:1 regardless of size.

WCAG Level AAA

Normal text: Minimum contrast ratio of 7:1. This is a stricter standard used by organizations committed to high accessibility.

Large text: Minimum contrast ratio of 4.5:1.

Practical note: AA compliance is the most commonly required standard. If you're unsure which level to target, aim for AA first. AAA compliance is harder to achieve aesthetically and is not always required by law, but it provides a better experience for users with more severe vision impairments.

Contrast Ratio Calculation

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 by linearizing each RGB component, weighting it, and summing. The formulas are defined in the WCAG 2.1 specification.

For a quick reference: black text on white background has a 21:1 contrast ratio — the maximum possible. Dark gray text on white is typically around 10-15:1. Light gray text on white often fails AA (below 4.5:1).

Common Contrast Mistakes

How to Read Contrast Results

When you check a color pair, here's how to interpret the results:

Try the Color Contrast Checker

Check any color combination for WCAG 2.1 AA and AAA compliance instantly.

Open Color Contrast Checker →

Which WCAG Level Should You Target?

For public-facing websites: WCAG AA is the legal standard in most jurisdictions (ADA, Section 508, European EN 301 549, and others). Every accessibility lawsuit and audit expects AA compliance.

For internal tools: Still target AA minimum. Your colleagues with glasses, temporary eye conditions, or screen glare will thank you.

For AAA compliance: Use as a stretch goal or for specific high-impact areas. AAA is not always achievable aesthetically, but large text and UI components can often pass AAA without much difficulty.

Summary

Checking color contrast is simple with the right tool. Start by using #000000 text on #ffffff background (21:1 — maximum contrast) and work from there. Every deviation from pure black-on-white should be verified against the WCAG formula before shipping. Use the contrast checker to test your brand colors, UI elements, and form fields early in the design process.

Accessibility isn't an afterthought — it's a design constraint that makes products better for everyone. The Color Contrast Checker at SnapUtils makes it free and instant to verify your choices.