Color Contrast Checker — WCAG AA & AAA | Darklup
Free Tool

Color Contrast
Checker

Check foreground and background color contrast instantly. Get WCAG AA and AAA pass/fail results for normal text, large text, and UI components.

Live Preview
Large Text Sample (18px+)
Normal body text at 15px. This is how your paragraph copy will appear at this color combination. Make sure it’s comfortably readable for all users.
Contrast Ratio
AA — Normal Text Requires 4.5:1
AA — Large Text Requires 3:1
AA — UI Components Requires 3:1
AAA — Normal Text Requires 7:1
AAA — Large Text Requires 4.5:1
Learn

Understanding
Your Results

What the contrast ratio number means

The contrast ratio is a numerical representation of the difference in perceived brightness between two colors. It’s expressed as a ratio — for example, 12.63:1 — where a higher number means a greater difference between the colors and easier readability for users.

The scale runs from 1:1 (identical colors, zero contrast) to 21:1 (pure black on pure white, maximum contrast). The algorithm used is based on the relative luminance formula specified in the WCAG 2.1 standard, which approximates how the human eye perceives brightness differences.

The ratio isn’t just math — it’s calibrated to human perception. A ratio of 4.5:1 was chosen by accessibility researchers because it represents the minimum contrast where the average person with moderately low vision can read text comfortably.

WCAG AA vs AAA — when each matters

The Web Content Accessibility Guidelines (WCAG) define two conformance levels for contrast. Level AA is the legal and widely-adopted baseline — it’s what most accessibility audits and laws like the ADA and EN 301 549 require. Level AAA is the enhanced standard, targeting users with more severe visual impairments.

LevelNormal TextLarge TextUI Components
AA4.5:1 minimum3:1 minimum3:1 minimum
AAA7:1 minimum4.5:1 minimumNot specified

Aim for AA as a non-negotiable baseline for any public-facing product. AAA is worth pursuing for body text on content-heavy sites — news, documentation, government — where sustained reading is expected.

Normal text vs large text — size thresholds

WCAG defines “large text” with specific thresholds because larger characters are easier to read at lower contrast. Large text is defined as 18px and above at regular weight, or 14px and above at bold weight (700+). Everything below those sizes is treated as normal text and held to the stricter 4.5:1 requirement.

In practice: your main headings and display type are large text; your body copy, captions, labels, and navigation links are normal text. If in doubt, apply the normal text standard — it’s safer and covers the widest audience.

UI components — what counts

The 3:1 ratio for UI components applies to the visual elements that communicate state or action — not the text inside them. This includes the border of a text input, the fill color of a checkbox or radio button, the stroke of an icon, and the background of a button where the label color alone would be checked separately.

Focus indicators — those outlines that appear when you tab through a page — also need to meet 3:1 against their adjacent colors, a requirement that was clarified and strengthened in WCAG 2.2.

Why contrast matters for real users

Approximately 300 million people worldwide have some form of color vision deficiency, and roughly 246 million have moderate-to-severe low vision. But contrast isn’t just an accessibility concern — it affects everyone.

Using a phone outdoors in direct sunlight, glancing at a screen in a bright room, or reading on an older display with lower brightness — all of these situations reduce effective contrast for any user. Good contrast ratios ensure your design holds up across every environment and every person who visits your site.

Aging eyes are another factor often overlooked: contrast sensitivity typically begins declining around age 40, and continues steadily. Designing for good contrast today means your product remains usable for your users as they — and you — grow older.
Smart Suggestions

This Combo
Fails AA — Here’s How to Fix It

These adjustments pass WCAG AA while staying as close as possible to your original colors. Click any swatch to apply it instantly.

Adjusted Foreground Colors
Adjusted Background Colors

All suggestions maintain a minimum 4.5:1 ratio to pass WCAG AA for normal text.

FAQ

Common
Questions

WCAG AA requires a contrast ratio of at least 4.5:1 for normal text (under 18px regular, or under 14px bold). For large text — 18px or larger at regular weight, or 14px+ at bold — the requirement is 3:1. UI components like buttons, form inputs, and icons also need at least 3:1 against their adjacent background.
WCAG AA is the standard accessibility compliance level required by most regulations (including ADA, Section 508, and EN 301 549). AAA is the enhanced level with stricter ratios: 7:1 for normal text and 4.5:1 for large text. AAA is not legally required in most contexts but is recommended for sites where extended reading occurs — news, documentation, government portals. Note that AAA compliance for all content is considered impractical for many design contexts, which is why it’s aspirational rather than mandatory.
WCAG defines large text as text that is at least 18 point (approximately 24px) at normal weight, or at least 14 point (approximately 18.67px) at bold weight (CSS font-weight 700 or higher). Any text below these thresholds is considered “normal text” and must meet the stricter 4.5:1 ratio for AA compliance. When in doubt, apply the normal text ratio — it covers all cases safely.
WCAG contrast requirements don’t apply to decorative images, photographs, or logos — these are exempt. However, if text is placed over an image, the contrast between that text and the image area beneath it must meet the standard. For meaningful informational images (icons, charts, diagrams), the visual content should provide sufficient contrast to be perceivable at the 3:1 level for UI components. Essentially: if an image conveys meaning, contrast matters.
There are two primary levers: darken the foreground color, or lighten the background (or vice versa, depending on your design direction). Our Suggested Fixes section above automatically generates adjusted colors that pass AA while staying close to your originals. In general, pure black text (#000000) on white, or vice versa, achieves the maximum 21:1 ratio. If you want to stay on brand, adjust the lightness value of your chosen color in HSL space — moving toward greater contrast — while keeping hue and saturation constant.
Both tools use the same WCAG 2.1 relative luminance formula as defined by the W3C, so the contrast ratio output will be identical for any given pair of colors. The key difference is what we’ve built on top of that calculation — specifically the automatic fix suggestions that generate passing alternatives from your existing palette, and the shareable URL so you can send a specific color pair to a colleague or client for review. The underlying math is the same open standard; the tooling around it is what differs.

“Your visitors shouldn’t have to struggle with contrast.”
Let Them Adjust It Themselves.

Darklup’s accessibility panel includes a built-in contrast mode — visitors can toggle it on with one click. No dev work needed.