Typography
IBM Productive type set
Productive type is reserved for use in web-based product design, where the user needs to focus on tasks. The Productive styles are curated to create a series of clear user expectations about hierarchy.
The Productive styles below introduce the new IBM Design Language tokens. The
difference between the Productive and Expressive styles is mainly evident in the
Headings. Aside from the token names, which are specifically calibrated for
product vs. editorial designers (e.g. $label-01
vs. $caption-01
) — the
Supporting and Body styles have the same values in both the Productive and
Expressive sets.
Even though IBM Plex contains a wide range of scales, it’s important to use curated sets below for their specified purpose. For consistent, reliable performance across various screen sizes, do not use fluid type in components or in product UI.
supporting styles
This is for inline code snippets and smaller code elements.
Type: IBM Plex Mono
Size: 12px / .75rem
Line height: 16px / 1em
Weight: 400 / Regular
Letter spacing: .32px
This is for large code snippets and larger code elements.
Type: IBM Plex Mono
Size: 14px / .875rem
Line height: 20px / 1.25em
Weight: 400 / Regular
Letter spacing: .32px
This is for field labels in components and error messages.
Type: IBM Plex Sans
Size: 12px / .75rem
Line height: 16px / 1em
Weight: 400 / Regular
Letter spacing: .32px
This is for explanatory helper text that appears below a field title within a component.
Type: IBM Plex Sans
Size: 12px / .75rem
Line height: 16px / 1em
Weight: 400 / Regular
Letter spacing: .32px
body
This is for short paragraphs with no more than four lines and is commonly used in components.
Type: IBM Plex Sans
Size: 14px / .875rem
Line height: 18px / 1.125em
Weight: 400 / Regular
Letter spacing: .16px
This is commonly used in both the expressive and the productive type theme layouts for long paragraphs with more than four lines. It is a good size for comfortable, long-form reading. Use this for longer body copy in components such as accordion or structured list. Always left-align this type; never center it.
Type: IBM Plex Sans
Size: 14px / .875rem
Line height: 20px / 1.25em
Weight: 400 / Regular
Letter spacing: .16px
This is for short paragraphs with no more than four lines and is commonly used in the expressive type theme for layouts.
Type: IBM Plex Sans
Size: 16px / 1rem
Line height: 22px / 1.375em
Weight: 400 / Regular
Letter spacing: 0px
This is commonly used in the expressive type theme layouts for long paragraphs with more than four lines. The looser line height and larger size makes for comfortable, long-form reading, in mediums that allow for more space. This size type is rarely used for body copy in components. Always left-align type; never center it.
Type: IBM Plex Sans
Size: 16px / 1rem
Line height: 24px / 1.5em
Weight: 400 / Regular
Letter spacing: 0px
headings
This is for component and layout headings.
Type: IBM Plex Sans
Size: 14px / .875rem
Line height: 18px / 1.125em
Weight: 600 / Semi-Bold
Letter spacing: .16px
This is for component and layout headings.
Type: IBM Plex Sans
Size: 16px / 1rem
Line height: 22px / 1.375em
Weight: 600 / Semi-Bold
Letter spacing: 0px
This is for component and layout headings.
Type: IBM Plex Sans
Size: 20px / 1.25rem
Line height: 28px / 1.75em
Weight: 400 / Regular
Letter spacing: 0px
This is for layout headings.
Type: IBM Plex Sans
Size: 28px / 1.75rem
Line height: 36px / 2.25em
Weight: 400 / Regular
Letter spacing: 0px
This is for layout headings.
Type: IBM Plex Sans
Size: 32px / 2rem
Line height: 40px / 2.5em
Weight: 400 / Regular
Letter spacing: 0px
This is for layout headings.
Type: IBM Plex Sans
Size: 42px / 2.625rem
Line height: 50px / 3.125em
Weight: 300 / Light
Letter spacing: 0px
This is for layout headings.
Type: IBM Plex Sans
Size: 54px / 3.375rem
Line height: 64px / 4em
Weight: 300 / Light
Letter spacing: 0px