Skip to main content

We use cookies to run this site, to understand how it's being used, and to measure our advertising. You can accept everything, reject everything that isn't strictly necessary, or decide for yourself. You can change your mind any time from the link in our footer.

We use cookies to understand how this site is used and to measure our advertising. You can change what you allow any time.

Free Tool · WCAG 2.1 AA Contrast Checker

Is Your Text Readable Enough to Pass?

Light grey text on white looks refined and reads badly. WCAG 2.1 puts a number on it: body text needs at least 4.5 to 1 contrast against its background, and bigger text gets a little more room. In Ontario, the AODA requires public websites of most organizations to meet WCAG 2.0 AA, and 2.1 AA is the current bar. Put your actual colours and text size in and get a straight answer.

Your colours and text

16 px regular

Body text on most sites is 16 px. Headings run 24 px and up.

How it reads

Call us today to book your free consultation.

Contrast ratio

4.83:1

At 16 px regular this counts as normal text. WCAG AA needs 4.5:1. Pass.

  • AAA at this size needs 7:1: fail.
  • As an icon, border or button outline it needs 3:1: pass.

WCAG 2.1 success criteria 1.4.3 (AA), 1.4.6 (AAA) and 1.4.11 (non-text). Large text is 24 px regular or 18.66 px bold and up.

That is one pair at one size. A real page has dozens: body text, captions, placeholders, links, buttons in every state, disabled controls. The free audit scores your whole page's accessibility in about 30 seconds. The deep audit reads up to 50 pages and lists the contrast failures its scanners catch, each with the element it lives on.

Check Your Whole Page

Calculated exactly as WCAG 2.1 defines it: relative luminance of each colour, then (lighter + 0.05) divided by (darker + 0.05). Thresholds are success criteria 1.4.3 Contrast (Minimum), 1.4.6 Contrast (Enhanced) and 1.4.11 Non-text Contrast. Large text is 18 point (24 px) regular or 14 point (18.66 px) bold and up. This tool checks the pair you give it; it does not read your site.

More free tools from Xavarro

See all free tools

Website Intelligence Audit

Free, about 30 seconds

Score any website across four pillars: SEO, AI search visibility, accessibility, and performance. Category breakdowns, an overall grade, and mobile versus desktop performance.

Lighthouse Score Calculator

Free, interactive

See exactly how Google scores your site. Move the five performance metrics and watch the published curves, weights, and mobile versus desktop models decide the number. Then put your own traffic in and see what your load time costs you each month.

AI Search Visibility Check

Free, instant

Check whether your website blocks AI search crawlers and assistants like GPTBot, ClaudeBot, and PerplexityBot. Know if AI tools can even see your site.

Schema Markup Checker

Free, instant

See every schema.org entity your page declares in the HTML your server actually sends, broken markup included, and how many of the local business signals search engines and AI assistants look for the page carries.

SERP Snippet Preview

Free, instant

See how your page reads in a Google search result. Title and meta description measured against real scoring bands, canonical and robots checks, and how many of your social share tags are there.

NAP Consistency Checker

Free, two steps

Your website next to your Google Business Profile listing: name, address, phone and website as factual match or differs rows. Pick your listing, and the check runs against that one only.

JavaScript Rendering Check

Free, about 5 seconds

Your page loaded twice on our browser, with JavaScript off and on. See how much of the text a crawler that never runs JavaScript can read, measured against the same bands the audit scores with, and read exactly what it sees.

WordPress Exposure Check

Free, about 5 seconds

Every WordPress site has the same handful of doors. See which of yours are open, from XML-RPC and username listing to public logs, leftover files, headers and HTTPS, graded on the same scale as the audit. Passive: ordinary requests only, never a login attempt.