Font Blend

Font pairing

IBM Plex Sans+IBM Plex Serif

IBM Plex Sans headings over IBM Plex Serif body. A unified corporate family where sans and serif were drawn to sit on the same grid.

Both faces share stem widths, x-height, and proportions, so the swap from sans to serif reads as a tonal shift, not a clash. Long-form documentation stays calm and scannable.

Sans + SerifDocumentationCorporatecontrast 76/100readability 93/100
All pairings

The art of typography

Typography is the visible voice of design. The right pairing balances contrast with consistency, a heading face that earns attention, a body face that earns trust. Test it at the sizes you actually ship, on the surfaces your readers actually use.

Recommended weights

IBM Plex Sans (heading)

500600700

IBM Plex Serif (body)

400500

Contrast Check

AAA

The quick brown fox

jumps over the lazy dog · 0123456789

15.49:1 contrast ratio
AA normal
passes
AA large
passes
AAA normal
passes
AAA large
passes

Default colors come from the Editorial Cream palette. Adjust above to test your own combination, these are the recommended heading text against the recommended body / surface color.

Details

Mood

professionaltechnicaleditorial

Use cases

documentationcorporateblogsaas

Tags

corporatedocumentationprofessionaleditorial

How to Use This Pairing

This IBM Plex Sans + IBM Plex Serif pairing works by combining the visual energy of a sans serif typeface for headlines with the sustained readability of a serif for body text. The contrast in typeface classification creates a clear hierarchy that guides the reader from headline to body without confusion.

For the heading, use 500 or 600 weight, enough to anchor the page without overwhelming the layout. For body text, 400 or 500 weight keeps reading comfortable across paragraphs. If your layout calls for subheadings, step down one weight from your display heading to maintain clear distinction between levels. See the type scale calculator to generate a scale with mathematically coherent steps.

The mood keywords for this pairing, professional, technical, editorial, describe the overall feeling the combination creates. Match these to the emotional register of your content. Formal content suits more neutral moods; creative or lifestyle brands benefit from warmer or more distinctive combinations. Browse all font pairings to compare mood categories and find a pairing that matches your brand tone.

Heading font
IBM Plex Sans
sans-serif

IBM Plex Sans is a humanist sans-serif designed by IBM as a corporate typeface. It has a neutral, technical character suited to documentation and enterprise UI.

500600700
by IBM·OFL-1.1·Google Fonts
View IBM Plex Sans details
Body font
IBM Plex Serif
serif

IBM Plex Serif is a transitional serif designed to pair with IBM Plex Sans. It brings a calm, professional voice to long-form documentation.

400500
by IBM·OFL-1.1·Google Fonts
View IBM Plex Serif details

Production Code

Copy-paste into your project, no build step required.

Setting It up in Your Project

Start by loading both fonts from Google Fonts using the production code snippet above. If you are using the Google Fonts link, both IBM Plex Sans and IBM Plex Serif load from a single URL. The Google Fonts API serves fonts from Google's global CDN with automatic version updates. For self-hosting or a design token approach, copy both the heading and body font-face declarations and assign them to distinct CSS custom properties.

In your CSS, set the heading font family on all h1 to h6 elements, and the body font family on the body or p selector. Using CSS custom properties for font families makes it easy to swap fonts across the entire site by editing one line.

This pairing works best when the heading size creates clear visual hierarchy above the body text. A common starting ratio is 2.5 to 3 times the body font size for h1, stepping down by approximately 1.2× for each subsequent heading level. Use the type scale calculator to generate a mathematically coherent scale.

Line-height for body text should sit between 1.4 and 1.6 times the font size for comfortable reading. Headings benefit from tighter line-height, 1.1 to 1.25 times, to bring the lines close enough that they read as a single unit rather than a list.

Related Pairings

View all

The art of typography

Good typography is the visible voice of design, quiet when it should be, loud when it must.

Preview

IBM Plex Sans + Lora

IBM Plex Sans headings over Lora body. A neutral technical sans for section titles and a calligraphic serif for long-form prose. Used in product docs and editorial corporate sites.

78/100
Sans + SerifDocumentationprofessionaleditorial
View details

The art of typography

Good typography is the visible voice of design, quiet when it should be, loud when it must.

Preview

IBM Plex Mono + IBM Plex Sans

IBM Plex Mono headings over IBM Plex Sans body. A common pattern in developer docs where section titles are set in monospace and prose in a humanist sans.

78/100
Mono + SansDocumentationtechnicalmodern
View details

The art of typography

Good typography is the visible voice of design, quiet when it should be, loud when it must.

Preview

Fira Code + IBM Plex Sans

Fira Code headings over IBM Plex Sans body. A programming monospace with ligatures sets the section titles, and a humanist sans carries the prose. Useful for developer docs and API reference sites.

77/100
Mono + SansDocumentationtechnicalmodern
View details

Frequently Asked Questions

What makes a good font pairing?
A good pairing creates contrast through typeface classification while maintaining harmony in style, x-height, and overall proportion. The heading typeface should be visually distinct from the body typeface, a serif with a sans-serif, a geometric with a humanist, so the reader instantly understands the hierarchy without needing to read the text. At the same time, the two faces should share enough character that they feel like they belong to the same design system.
Can I swap the heading and body fonts?
This pairing is designed with IBM Plex Sans as the heading and IBM Plex Serif as the body. Swapping them, using IBM Plex Serif for headings and IBM Plex Sans for body, is technically possible but typically not recommended. Each typeface is chosen for its strengths at its intended size range. IBM Plex Sans has design characteristics that work best at display sizes, and IBM Plex Serif is optimised for sustained reading at body sizes.
Which CSS weights should I use for this pairing?
For headings, this pairing is designed to work with 500 or 600 or 700 weights. For body text, 400 or 500 weights provides the best balance of legibility and visual weight. If you are using a variable font, you can fine-tune the weight to match your layout exactly rather than snapping to fixed steps.
Is this pairing free for commercial use?
Both IBM Plex Sans (OFL-1.1) and IBM Plex Serif (OFL-1.1) are open-source fonts with permissive licenses. They can be used in personal and commercial projects, including client work, without attribution requirements. Confirm with your legal team if you are building a product that redistributes fonts, since some uses have specific license requirements.

Want a Different Combination?

Try the deterministic pairing generator or open the typography playground to mix your own.