Font pairing – heading and body font combinations
Pick a font pair and instantly see how heading and body text work together – with your own text if you like. Every pair uses pre-installed system fonts only: nothing to download, no request to Google or any other server. Each pair comes with the reasoning, the measured x-height and availability per operating system.
How it is calculated
How to pair fonts
Two fonts work together when they are clearly different but similarly built. The safest route is contrasting a serif with a sans-serif: one carries the headings, the other the body text. Two similar serifs or two similar sans-serifs, on the other hand, easily look like a mistake.
Just as important is the x-height – the height of lowercase letters relative to the font size. Fonts with a large x-height (Verdana: 0.545 em) look noticeably bigger at the same size than fonts with a small one (Calibri: 0.464 em). If a pair’s x-heights are far apart, balance them with the font size. The values shown come from the OS/2 table of the Windows 11 font files.
Why system fonts only?
System fonts are already installed on the device: pages load faster, text does not jump while loading, and no request goes to a third-party server. Loading web fonts straight from a font CDN sends every visitor’s IP address to that provider – a privacy issue under the GDPR in Europe. If you want custom web fonts, host them yourself.
Font stacks: why several names?
No font is installed on every system. That is why CSS lists several fonts in a row (a font stack): the browser uses the first one that is installed, and a generic family such as serif or sans-serif catches everything else. The table shows which font actually appears on Windows, macOS, iPhone/iPad and Android – based on Microsoft’s and Apple’s font lists and Android’s font configuration (accessed 27 Sep 2026). Android has no Georgia or Verdana and shows Noto Serif or Roboto instead; Linux distributions ship different fonts depending on the installation.
Tips for readable body text
- Set on-screen body text at 16 px or more, ideally 17–20 px, with a line height of about 1.5 to 1.7.
- Make headings clearly larger (1.6 to 2 times) and bolder than the text – then even a single font family is enough.
- Keep lines to roughly 60 to 80 characters.
- Check colour contrast: grey text on white quickly gets too faint – use the color contrast checker.
Frequently asked questions
Which fonts go well together?
Pairs of a serif and a sans-serif are a safe bet, such as Georgia with Verdana, Palatino with the system UI font, or Cambria with Calibri. What matters is clear contrast and similar x-heights.
How many fonts should a website use?
Two at most: one for headings, one for text. Add a third, such as a monospace font for code, only if it has a job of its own.
Are Georgia and Verdana available on every device?
On Windows, macOS and iOS, yes. Android does not ship them and shows Noto Serif or Roboto – which is why every font stack should end with a generic family like serif or sans-serif.
What is x-height?
The height of a lowercase x relative to the font size. A large x-height makes text more legible at the same size but needs a little more line spacing.
Why not just use web fonts from a CDN?
Every page view then sends the visitor’s IP address to the font provider and adds a download before text appears. System fonts avoid both; custom fonts can be self-hosted.
Is my preview text saved?
No. Your own headings and text stay in this browser window only. Just the selected pair and font size are remembered.
Sources and legal basis
- Microsoft Learn – Font List Windows 11 (Stand 21.04.2022, abgerufen 27.09.2026)
- Microsoft Learn – Font List Windows 10 (Stand 04.09.2020, abgerufen 27.09.2026)
- Apple Developer – System Fonts (macOS, iOS; abgerufen 27.09.2026)
- Android Open Source Project – fonts.xml (Schrift-Aliasse serif/sans-serif, abgerufen 27.09.2026)
- MDN Web Docs – font-family
As of:
Related tools
- Color contrast checker (WCAG 2.2)Check the contrast between text and background colors: WCAG 2.2 contrast ratio with AA/AAA ratings for normal text, large text and UI components.
- Color palette generatorBuild matching colors from one base color: complementary, analogous, triadic, square, split-complementary or monochrome – with HEX, RGB and HSL values.
- Flesch Reading Ease CalculatorPaste your text to get the Flesch Reading Ease score, the score band, words per sentence and syllables per word – plus the German version by Amstad.
- Fancy Text GeneratorTurn text into bold, italic, cursive, gothic and 20+ other fancy fonts to copy and paste into Instagram, TikTok or Discord – with a note on accessibility.
- Aspect Ratio CalculatorCalculate the aspect ratio from width and height (1920 × 1080 = 16:9), find the missing side, decimal value, nearest standard ratio and CSS aspect-ratio.
- Base64 Encode and DecodeEncode and decode Base64 and Base64url with proper UTF-8, plus URL encode/decode (percent-encoding). Clear error messages, runs locally in your browser.