WCAG color contrast checker — AA and AAA ratios for text and UI backgrounds

Use this free online color contrast checker to validate text color vs background color pairs against WCAG 2.1 contrast ratios. Enter HEX values, use native color pickers, and see whether your combination passes AA or AAA for normal text and large text. Copy foreground, background, or the numeric ratio with one click. Optional: upload a screenshot and sample pixels into the text or background slot—everything runs in your browser, so brand palettes and customer UI mockups stay private. Pair this tool with the color picker and converter, explore harmonies in the color palette generator, and preview inclusive palettes with the color blindness simulator. Browse all utilities in Design and Color Tools.

Sample heading — check readability at a glance.

Body copy at default size should hit 4.5:1 for WCAG AA. This paragraph uses your foreground on your background so you can judge real typography, not only numbers.

Contrast ratio17.06:1
  • AA (normal text)Pass(≥ 4.5:1)
  • AAA (normal text)Pass(≥ 7:1)
  • AA (large text)Pass(≥ 3:1)
  • AAA (large text)Pass(≥ 4.5:1)

Large text: roughly 18pt+ regular or 14pt+ bold. Thresholds follow WCAG 2.1 success criteria 1.4.3 and 1.4.6.

Pick from image

Upload a screenshot or mockup, then click the image to sample a pixel into the text or background slot.

Drag and drop an image here, or use .

Calculations use WCAG sRGB relative luminance. All processing happens in your browser; colors are not sent to a server.

Why contrast ratio matters for accessibility, SEO, and brand trust

Search engines increasingly reward pages that work well for real users, and readable text is a core part of that story. Accessible color contrast helps people with low vision, color deficiency, or glare on mobile screens actually use your interface. Teams also search for WCAG AA contrast and WCAG AAA contrast when they need procurement or legal alignment, or when they ship design systems with documented tokens. This page uses the same sRGB luminance steps defined in the Web Content Accessibility Guidelines so your numbers line up with audits and browser tools.

Designers often pair a primary brand color with neutrals; developers implement those as CSS variables. Before merging, run each heading and body pair through a contrast checker. For gradients and hero images, test the lightest and darkest regions behind copy. When you need lighter or darker steps from one hue, the tint and shade generator builds a predictable scale; bring those HEX codes back here to confirm ratios.

How to use this WCAG contrast checker (step by step)

  1. Set text (foreground) and background colors using the pickers or by typing HEX (three or six-digit forms such as #f4f4f5 or #abc). Press Enter or blur the field to apply.
  2. Read the live preview and the contrast ratio (for example 7.12:1). Rows below show whether you meet AA and AAA for normal and large text, with minimum thresholds shown.
  3. Use Swap colors if you pasted the pair reversed. Use the copy icon beside each HEX field or Copy contrast ratio to paste values into Figma variables, CSS, or tickets.
  4. Optional: click Upload image (upload icon) or drag a mockup into the dashed area. Choose whether clicks apply to the text or background color, then click the image canvas to sample a pixel.

Normal text vs large text thresholds (quick reference)

For standard body copy and most UI labels, aim for at least 4.5:1 for WCAG AA and 7:1 for AAA. For large text (approximately 18pt regular or 14pt bold and larger), AA allows 3:1 and AAA allows 4.5:1. Icons and thin strokes that act as text still need sufficient separation from adjacent colors—when in doubt, measure the worst neighboring pair.

Gradients, shadows, and dark mode

This tool measures two solid sRGB colors. For linear and radial gradients, test the stops behind your text. The gradient generator and CSS gradient generator help you iterate visually; export HEX stops and verify them here. For dark mode, repeat checks because swapped surfaces change both luminance and perceived hue.

Related design and color tools

Explore the full design and color tools section. Highlights:

  • Color Picker & ConverterPick colors and copy HEX, RGB, HSL, and CMYK values for design systems and handoff.
  • Color Palette GeneratorFrom one base hue, build complementary, triadic, analogous, and monochrome palettes.
  • Gradient GeneratorDesign linear and radial gradients visually and copy production-ready CSS in seconds.
  • Tint & Shade GeneratorGenerate lighter tints and darker shades from a brand color for consistent UI scales.
  • Color Blindness SimulatorPreview images or palettes under common color-vision deficiencies to validate inclusive design.
  • Box Shadow GeneratorTune offset, blur, spread, color, and inset shadows with live preview and copyable CSS.
  • Border Radius GeneratorAdjust each corner visually and export shorthand border-radius for cards and buttons.
  • CSS Gradient GeneratorBuild multi-stop gradients with angles and stops—outputs clean, modern CSS gradients.
  • Flexbox PlaygroundTweak flex container and item properties and see layout updates in real time.
  • CSS Grid PlaygroundPrototype grid templates, gaps, and placement with instant visual feedback.
  • Favicon GeneratorCreate favicon.ico and PNG sizes from an image or text for every device and browser tab.

If you are tuning shadows and depth, the box shadow generator complements flat color checks—still verify any text sitting on tinted surfaces.

Frequently asked questions

What contrast ratio passes WCAG AA for normal body text?
WCAG 2.1 Success Criterion 1.4.3 requires a contrast ratio of at least 4.5:1 between text and its background for regular (non-large) text, unless the text is purely decorative or logotype. Large text—roughly 18pt and up at regular weight, or 14pt bold and up—can meet AA at 3:1.
What is the difference between WCAG AA and AAA for color contrast?
AA is the baseline conformance level most teams target for legal and procurement requirements. AAA is stricter: normal text needs at least 7:1, and large text needs at least 4.5:1. AAA is not always required for every control, but it helps users with low vision and glare sensitivity.
Does this tool work for gradients, images, or glassmorphism backgrounds?
This checker computes the ratio between two solid sRGB colors. For gradients or photos, test the worst-case area behind the text (often the lightest and darkest stops). For translucent overlays, composite the text color over the underlying background first, then measure that pair.
Why do my Figma or Sketch hex values look slightly different here?
Browsers and design tools may use different color profiles or export settings. Always verify contrast in the medium where users see it (browser, OS, PDF). This page uses the same sRGB math as WCAG luminance definitions for web content.
Are my images uploaded when I use pick color from image?
No server upload. The image loads into an HTML canvas in your tab so you can sample pixels. The file never leaves your device unless you download or share it elsewhere yourself.
How does this relate to the color picker and palette tools on this site?
Use the color picker to capture or convert HEX, RGB, and HSL values, then paste them here to validate pairs. The palette generator helps you build harmonious sets; run each foreground and background candidate through this contrast checker before shipping components.