WCAG Text Size and Contrast Thresholds

The size of the lettering decides whether a pair needs the normal- or large-text contrast threshold. Button padding and card size do not count.

WCAG Color Contrast Checker →

Start with the text’s rendered size and weight. A spacious button can still have a small label, and a heading may become normal-sized text in a mobile layout.

The two categories

SpecimenCSS size and weightCategory
Body paragraph16 px, weight 400Normal
Section heading24 px, weight 400Large
Bold heading18.6666667 px, weight 700Large
Compact bold label18 px, weight 700Normal

Large text starts at 18 pt regular or 14 pt bold: 24 CSS px or 18⅔ CSS px at the standard CSS conversion. ColorPairLab treats weight 700 and above as bold in its preview. The appearance of a particular font still needs a visual check.

Four thresholds

CriterionNormal textLarge text
AA: SC 1.4.34.5:13:1
AAA: SC 1.4.67:14.5:1

Read AA and AAA separately. A pair can pass AA for large text while failing AA for normal text. Passing AA normal also does not imply a pass at AAA normal.

The same colors at two sizes

Try #777777 on #FFFFFF. Its ratio is about 4.478:1, displayed as 4.48:1. A 16 px regular paragraph fails AA normal; a 24 px regular heading passes AA large. The colors stay the same, but the applicable threshold changes.

.body { font-size: 16px; font-weight: 400; }
.large-regular { font-size: 24px; font-weight: 400; }
.large-bold { font-size: 14pt; font-weight: 700; }

Choose type that suits the content

If a small form hint fails, a darker text color may be a better fix than making it larger. For a genuinely large headline, use the large-text result. Check responsive styles too: a heading that shrinks on a phone may move into the normal-text category.

What the checker leaves to you

The checker covers the text contrast calculations in SC 1.4.3 and SC 1.4.6 for opaque flat colors. It does not inspect focus rings, icons, keyboard operation or every contextual exception. Review those parts of the component separately.

  • Keep text size and weight with the color pair.
  • Recheck headings that get smaller at narrow viewports.
  • Leave some contrast margin instead of choosing a value just above the threshold.
  • Use the linked WCAG guidance for exceptions that depend on context.

Sources and further reading

Content reviewed: October 22, 2026