Skip to main content

Typography

How text is set: roles, sizes and line height.

display44px · 1.15 · 600Your reading list
title36px · 1.15 · 600Your reading list
heading28px · 1.15 · 600Planting a winter garden
body18px · 1.65 · 400A reader arrives from search on a phone and reads a long guide in one sitting.
label16px · 1.45 · 600Keep reading
caption14px · 1.45 · 400A reader arrives from search on a phone and reads a long guide in one sitting.
data18px · 1.65 · 400Guides saved 4 · Finished this month 11 · Minutes read 186 · Next issue Friday

The five answers​

QuestionAnswerWhy
Which text roles does it need?Core and editorial displayA lead and a display role open articles.
How many steps does the type scale take?Fine steps, so pages can set their own rhythmLong pages need a clear hierarchy of headings, with fine steps between them.
How are sizes and line heights defined?A ratio, line heights in proportionLine height is a ratio, so it grows with the text.
How large is body text?LargeLarge body text is easy on the eyes.
Where does type do the most work?Articles and long textType does its work in articles.

Tokens​

Each token points to another token. Values live only on primitives, below.

TokenPoints to
type.display.font-familycontent-first.theme.base.type.display.font-family → font.family.source-serif-4
type.display.font-sizefont.size.44
type.display.line-heightfont.line-height.1_15
type.display.font-weightfont.weight.600
type.title.font-familycontent-first.theme.base.type.title.font-family → font.family.source-serif-4
type.title.font-sizefont.size.36
type.title.line-heightfont.line-height.1_15
type.title.font-weightfont.weight.600
type.heading.font-familycontent-first.theme.base.type.heading.font-family → font.family.source-serif-4
type.heading.font-sizefont.size.28
type.heading.line-heightfont.line-height.1_15
type.heading.font-weightfont.weight.600
type.body.font-familycontent-first.theme.base.type.body.font-family → font.family.source-serif-4
type.body.font-sizefont.size.18
type.body.line-heightfont.line-height.1_65
type.body.font-weightfont.weight.400
type.label.font-familycontent-first.theme.base.type.label.font-family → font.family.inter
type.label.font-sizefont.size.16
type.label.line-heightfont.line-height.1_45
type.label.font-weightfont.weight.600
type.caption.font-familycontent-first.theme.base.type.caption.font-family → font.family.inter
type.caption.font-sizefont.size.14
type.caption.line-heightfont.line-height.1_45
type.caption.font-weightfont.weight.400
type.data.font-familycontent-first.theme.base.type.data.font-family → font.family.source-serif-4
type.data.font-sizefont.size.18
type.data.line-heightfont.line-height.1_65
type.data.font-weightfont.weight.400

The raw values these tokens end at are on Primitives › Type.

When to use what​

SituationUseNotWhy
Page titletype.titletype.display (landing only)Display is kept for the landing moment; article titles stay calm.
A number in a tabletype.bodyA mono fontTables are rare and read row by row, so digits never need to line up in columns. A mono font would break the reading voice.
Paragraph or help texttype.body, at most 65 characters a linetype.captionA large size and short lines make long text easy on the eyes.
Field label or column headertype.labeltype.captionCaption is too faint for a label people must read.