WCAG's contrast requirements aren't identical for all text — "large text" gets a specifically lower bar than regular body text, but the definition of what actually counts as large is more precise, and slightly less intuitive, than it might first seem. Getting this specific distinction right matters more than it might initially seem, precisely because it's so easy to get wrong by relying on visual impression alone.
The exact WCAG definition of large text
WCAG defines large text as at least 18 points (roughly 24 pixels) in regular weight, or at least 14 points (roughly 18.66 pixels) if the text is bold. Text falling below both of these thresholds is treated as regular-size text for contrast purposes, regardless of how large it might otherwise feel in a specific design context.
Why bold text gets a lower size threshold
Bold text is inherently easier to read at lower contrast than regular-weight text of the same size, since the thicker strokes provide more visual mass and definition, which is exactly why WCAG's large-text threshold drops to a smaller point size specifically when bold weight is involved, rather than using one single fixed size cutoff regardless of font weight.
Why this distinction actually matters practically
A heading styled at 20px regular weight might feel "large" in an everyday, casual sense, but at just under the 24px regular-weight threshold, it technically still needs to meet the stricter 4.5:1 normal-text ratio, not the more lenient 3:1 large-text ratio — a distinction that's easy to get wrong by relying on visual impression alone rather than checking the precise, defined threshold.
How to check point size vs pixel size correctly
Web design typically works in pixels rather than points, and the conversion isn't perfectly exact across every context, so when in doubt, using the more conservative, stricter 24px (regular) or 18.66px, commonly rounded to 19px, (bold) pixel thresholds, rather than assuming a looser approximate size qualifies, avoids accidentally treating borderline text as large when it technically isn't by the precise definition.
What this means for common heading sizes
A typical H1 heading, often styled somewhere in the 32–40px range, comfortably clears the large-text threshold in either weight. A smaller H4 or H5 heading, sometimes styled closer to 16–18px, may not clear it depending on the exact size and weight used, meaning it could still require the stricter normal-text contrast ratio despite visually reading as a heading rather than body copy.
A practical habit for checking this correctly
Rather than assuming any text that looks like a "heading" automatically qualifies for the more lenient large-text threshold, checking a specific element's actual rendered pixel size and font weight against the precise WCAG definition before deciding which contrast ratio applies avoids a genuinely common, easy-to-make mistake in accessibility reviews.
Why designers sometimes disagree about whether a given heading qualifies
Disagreements usually trace back to comparing font-weight-adjusted point sizes loosely rather than checking the specific pixel thresholds directly, which is exactly the kind of ambiguity a quick, precise measurement resolves far more reliably than a visual debate about how large a heading "feels."
Try the Contrast & A11Y tool yourself — free, instant, nothing sent anywhere.
Open the toolFrequently asked questions
What's the exact pixel size WCAG considers 'large text'?
Roughly 24px (18pt) for regular-weight text, or roughly 18.66px, commonly rounded to 19px, (14pt) for bold text — text below both of these thresholds is treated as normal-size text for contrast purposes.
Does a heading automatically count as large text under WCAG?
Not automatically — it depends on the heading's actual rendered pixel size and font weight meeting the specific defined thresholds, not just on whether it visually functions as a heading in the overall design.
Why does bold text get a lower size threshold for 'large text'?
Because bold text's thicker strokes make it inherently easier to read at lower contrast than regular-weight text of the same size, so WCAG's threshold accounts for this by allowing a smaller point size to qualify when bold weight is used.
What contrast ratio applies if I'm unsure whether text qualifies as large?
When in doubt, applying the stricter normal-text ratio (4.5:1 for AA) rather than assuming the more lenient large-text ratio (3:1) applies is the safer, more conservative choice until the exact size and weight are confirmed against the precise WCAG definition.