Playfair
Type with Purpose
Good typography guides attention, improves understanding, and makes communication effortless.
The Anatomy of a Typeface
By FontSide · June 2026
Every typeface is a system of decisions — about stroke contrast, x-height, spacing, and rhythm. The best ones feel invisible: you stop seeing the letters and start hearing the voice behind them. That transparency is the hardest thing to design.
A high x-height opens up the counters and makes small text breathe. Tight tracking pulls a headline together; loose tracking gives a caption room to exhale. None of these choices are accidents — they are arguments about how reading should feel.
Uppercase
Lowercase
Numerals
Symbols
Package Manager
The recommended way to use fonts in modern web projects.
1. Install Package
pnpm add @fontsource-variable/playfair 2. Import in App
import '@fontsource-variable/playfair/wght.css'; 3. CSS Usage
body {
font-family: "Playfair Variable", serif;
} Google Fonts CDN
Use Google's CDN to embed the fonts directly via HTML.
HTML <head>
<!-- Please select at least one weight and style --> Fontsource CDN
Skip the build step by adding this directly to your global CSS file.
Global CSS
/* playfair-latin-wght-normal */
@font-face {
font-family: "Playfair Variable";
font-style: normal;
font-display: swap;
font-weight: 100 900;
src: url(https://cdn.jsdelivr.net/fontsource/fonts/playfair:vf@latest/latin-wght-normal.woff2)
format("woff2-variations");
} Background & Story
Playfair is well suited for general purpose typesetting. Playfair can be interpolated in three dimensions: Width, Weight and Optical Size.
The optical size axis is the most extreme of the axes. Along that axis you can seamlessly change the letterforms from the extremely small Agate (5pt) to the extremely big Needlepoint (1200pt). The Agate has a very low contrast between the thickest and thinnest parts of its strokes, in fact the contrast is even slightly negative, meaning the the horisontal strokes are heavier than the vertical strokes. At the other end the Needlepoint is as high contrast as practically possible. The thinnest strokes are but a single unit wide, meaning that if you were to typeset in 1000 points using a Needlepoint weight, the resulting thinnest strokes would be one point wide. The weight axis adds a second dimension by allowing you to seamlessly change from a light regular to a dark black.
An update in June 2023 slightly modifies the width axis, giving the text a narrower appearance.
In February 2025, a glyphset update improves the language support by adding African.
To contribute, see github.com/googlefonts/Playfair.
Tags & Moods
Subsets
Install
pnpm add @fontsource-variable/playfair Designed by
Claus Eggers Sørensen
Links
License
OFL-1.1