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.

code-01
Type: IBM Plex Mono
Size: 12px / .75rem
Line-height: 16px / 1rem
Weight: 400 / Regular
Letter-spacing: .32px

This is for large code snippets and larger code elements.

code-02
Type: IBM Plex Mono
Size: 14px / .875rem
Line-height: 20px / 1.25rem
Weight: 400 / Regular
Letter-spacing: .32px

This is for field labels in components and error messages.

label-01
Type: IBM Plex Sans
Size: 12px / .75rem
Line-height: 16px / 1rem
Weight: 400 / Regular
Letter-spacing: .32px

This is for explanatory helper text that appears below a field title within a component.

helper-text-01
Type: IBM Plex Sans
Size: 12px / .75rem
Line-height: 16px / 1rem
Weight: 400 / Italic
Letter-spacing: .32px

body

This is for short paragraphs with no more than four lines and is commonly used in components.

body-short-01
Type: IBM Plex Sans
Size: 14px / .875rem
Line-height: 18px / 1.125rem
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.

body-long-01
Type: IBM Plex Sans
Size: 14px / .875rem
Line-height: 20px / 1.25rem
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.

body-short-02
Type: IBM Plex Sans
Size: 16px / 1rem
Line-height: 22px / 1.375rem
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.

body-long-02
Type: IBM Plex Sans
Size: 16px / 1rem
Line-height: 24px / 1.5rem
Weight: 400 / Regular
Letter-spacing: 0px

fixed headings

This is for component and layout headings.

heading-01
Type: IBM Plex Sans
Size: 14px / .875rem
Line-height: 18px / 1.125rem
Weight: 600 / Semi-Bold
Letter-spacing: .16px

This is for component and layout headings.

heading-02
Type: IBM Plex Sans
Size: 16px / 1rem
Line-height: 22px / 1.375rem
Weight: 600 / Semi-Bold
Letter-spacing: 0px

This is for component and layout headings.

productive-heading-03
Type: IBM Plex Sans
Size: 20px / 1.25rem
Line-height: 26px / 1.625rem
Weight: 600 / Semi-Bold
Letter-spacing: 0px

This is for layout headings.

productive-heading-04
Type: IBM Plex Sans
Size: 28px / 1.75rem
Line-height: 36px / 2.25rem
Weight: 400 / Regular
Letter-spacing: 0px

This is for layout headings.

productive-heading-05
Type: IBM Plex Sans
Size: 32px / 2rem
Line-height: 40px / 2.5rem
Weight: 400 / Regular
Letter-spacing: 0px