Playfair Display

Replaces: Didone (88%) | OFL-1.1 | Updated: Aug 2026

About Playfair Display

Classification
serif
Weights
Variable (100-900)
Features
Variable, Italics
SIL Open Font License 1.1

Free to use, modify, and distribute. Can be used commercially without attribution.

What's allowed?
  • Client work
  • SaaS / Web apps
  • YouTube / Video
  • Sell products
  • Print materials

Note: Derivative fonts must use the same license.

Full license guide →
Get Playfair Display Free ↗

Playfair Display is a high-contrast transitional serif built for large sizes, added to Google Fonts on 16 November 2011 and substantially rewritten in 2017. It ships as two variable files, roman and italic, each carrying a single wght axis from 400 to 900, and Google's catalogue metadata gives it a popularity value of 16 — 37 families rank ahead of it and three tie with it, so it sits around 38th of the 1,942 families Google serves. Three things the listicles never mention change how you use it: the default figures are oldstyle, the hairlines never get thicker however heavy you set it, and it carries a full drawn set of small caps you do not need a second family to reach.

What it is, and where it came from

Playfair Display is an open-source project led by Claus Eggers Sørensen, a type designer based in Amsterdam — the official Google Fonts text says the project is led by him rather than authored by him alone, and the wording is worth keeping. No foundry is named as the author: the binaries name Sørensen as the manufacturer, and the vendor tag FTH and vendor URL both point at his own studio, forthehearts.net: the binaries name Sørensen as the manufacturer and point their vendor URL at his own studio site, forthehearts.net. The official description sends contributors to github.com/clauseggers/Playfair-Display, though the shipped METADATA.pb records the build source as github.com/clauseggers/Playfair at commit 80a3341 — worth knowing if you are reading the outlines rather than just using them. Distribution is Google Fonts plus that GitHub source, and the licence is OFL throughout.

Two dates matter. METADATA.pb records date_added: 2011-11-16, and the official description says the typeface "was initially published in 2011, and had a major update in 2017". That second date is not decoration: every shipped binary carries the line "Copyright 2017 The Playfair Display Project Authors", and the current version is 1.203. Evaluate it before 2017 and you evaluated a different font.

The designer-supplied description is the only first-party account of its origins, and it is routinely misreported. It places the design in the late-18th-century moment when broad nib quills gave way to pointed steel pens and it "became fashionable to print letterforms of high contrast and delicate hairlines". Then it gets specific: "while it is not a revival of any particular design, it takes influence from the designs of John Baskerville and from 'Scotch Roman' designs." Baskerville and Scotch Roman — not Didot, not Bodoni. The Didone attribution circulates widely, and no first-party source supports it.

In 2023 Sørensen published Playfair, a separate family the official text calls the successor, "which as a variable font includes body text designs in the optical size axis". Playfair Display has no such axis, so every claim that it does describes the wrong family.

Design characteristics

Measured from PlayfairDisplay[wght].ttf version 1.203, on a 1000-unit em.

The x-height is large for the genre — 514 against a cap height of 708, a ratio of 0.726. Ascenders on d, k and l reach 784, overshooting the capitals by 76 units; descenders drop to −188. That is why it holds up at moderate display sizes where a stricter Didone starts closing up.

Contrast is what the weight axis is really for. Scanning the lowercase o at half x-height, the Regular stem measures 97 units against a top hairline of exactly 20 — about 4.9:1. At Black the stem grows to 187 while the hairline is still exactly 20, pushing contrast to roughly 9.4:1. The axis thickens the thicks and leaves the thins alone, so Regular is a moderate transitional serif and Black is where it becomes the dramatic display face people hire it for. There is no way to get that drama at 400.

One axis, and one only. fvar lists wght 400/400/900 on both files, named instances Regular through Black plus six matching italics. Google's metadata reports the same single axis and the CSS API declares font-weight: 400 900. No width, no optical size, no slant, and wght@300 returns HTTP 400. Widths are roomy rather than condensed — H advances 757, n 597, o 548 — so long headlines need real horizontal room.

The figures default to oldstyle, which catches more people than anything else here. Zero tops out at 529 — x-height, not cap height — and the standard oldstyle descenders all drop below the baseline: 3 by 151 units, 5, 7 and 9 by 148, 4 by 141. The lnum feature swaps in lining figures that align with the capitals, most of them reaching 722 against a cap height of 708.

Nineteen GSUB features, and no stylistic sets. GSUB carries smcp, c2sc, case, liga, dlig, rlig, onum, lnum, frac, numr, dnom, sups, subs, sinf, ordn, calt, ccmp, locl and aalt — but no salt and no ss01ss20, so there are no stylistic alternates or stylistic sets to reach for, whatever a feature-list roundup tells you. What is there is generous: liga produces 24 ligature glyphs, dlig holds exactly four — Th, ct, sp and st — and small caps are drawn rather than scaled — 308 .smcp glyphs at a small-cap height of 608 against a cap height of 708. You can prove they were redrawn: i.smcp keeps I's exact 339-unit advance and its 42-to-297 horizontal extent while dropping 100 units in height, which no uniform scale could do.

Coverage is 659 codepoints across latin, latin-ext, cyrillic and vietnamese, tone-marked Vietnamese complete. There is no Greek — Α, Β, Γ and α are unmapped in both files. Only four maths borrowings appear from that block at all: Δ, Ω, μ and π.

Where it works

Google's metadata carries classifications: DISPLAY and the official text calls it "a Display (large size) design in the transitional genre". Set large, it does that job: magazine headlines, book covers, pull quotes, fashion and beauty layouts, hospitality identity work, event stationery, title cards.

Two properties make it more useful than its reputation as a pretty headline font suggests. The 400–900 range in one variable file means a single 38 KB download carries a whole display hierarchy, with contrast growing as weight does. And the built-in small caps and case-sensitive forms — case alone remaps 51 glyphs of punctuation, accents and figures — cover running heads, section labels and all-cap settings, not just the one big line.

Where it struggles

It is not a text face, and the arithmetic says why. The hairlines are a fixed 20 units per em regardless of weight. At 16px on a 1× display that is 0.32 of a pixel — under what a device pixel can render — so the thins in body copy grey out or break up unevenly. This is why the successor family exists: Playfair covers body sizes through an optical-size axis, and Playfair Display never did.

There is nothing below Regular. The axis starts at 400, so the airy light-weight display setting much luxury and fashion work wants is unavailable.

Ubiquity is a real cost. Sitting among the forty most-used of Google's 1,942 families, this is not a distinctive choice, and a brand needing to look unlike its competitors is fighting the font from the start.

No Greek, and a Greek fallback will not blend — nothing in a typical stack matches this contrast level. The family is also thin: no text cut, no condensed, no extra widths, and the one sibling is static with three weights.

Which premium fonts it substitutes for

The alternativeFor list runs to 42 premium faces, and they are not equally good matches.

The Scotch Romans are the closest, because Scotch Roman is a named influence rather than a coincidental resemblance. Chronicle Display (Hoefler&Co) and Miller Display both sit in that tradition, and Playfair Display carries their register convincingly at headline sizes. It diverges on system depth: both sit inside optical-size systems, with Hoefler&Co shipping Chronicle Text and Chronicle Deck beneath Chronicle Display, and Carter & Cone's Miller running from Miller Text through Miller Display up to Miller Banner for settings above 100 point. Playfair Display has no equivalent, so swap the headline, not the hierarchy.

Didot and Bodoni are a partial match that depends entirely on weight. Both are Didones — vertical axis, flat unbracketed serifs, extreme contrast. Playfair Display is transitional, its serifs are bracketed, and at Regular its 4.9:1 contrast is nowhere near a true Didot hairline. At Black it reaches 9.4:1 and gets close enough to read at display sizes, so set it at 800 or 900 for Didone-flavoured work.

The contemporary editorial display serifs are register matches, not shape matches. GT Super (Grilli Type), Ogg (Sharp Type), Noe Display (Schick Toikka), Editorial New, Migra, Ivy Mode, Larken, Austin, Portrait and Freight Display all occupy the same slot in a layout. Playfair Display fills it at zero cost and loses the specific thing each was hired for — GT Super's retro-editorial warmth, Ogg's calligraphic quirks, Noe Display's angular sharpness. If the brief said "high-contrast editorial serif", it substitutes; if the brief named the font, it does not.

Heldane and Domaine (Klim Type Foundry) are the weakest matches: both are full families with text-capable cuts, and Playfair Display cannot follow them into body copy. Trajan Pro does not belong on the list at all — it is an inscriptional Roman capital design with no lowercase, and Playfair Display's whole character lives in its lowercase.

What to pair it with

The brief is simple because Playfair Display is so lopsided: high contrast, display-only, large x-height, roomy widths. The companion has to carry the text, which means low stroke contrast and a design meant for small sizes — contrast in construction is what makes a pairing read as a decision rather than an accident.

The designer's own recommendation is on the record: the official description says that "functionally and stylistically it can accompany Georgia or Gelasio for body text", Georgia being the system serif and Gelasio its metric-compatible open-source counterpart.

For the more common serif-plus-sans setting, take a neutral low-contrast text sans and let Playfair Display keep the personality: Source Sans 3, Inter, Work Sans, Public Sans or DM Sans. If a serif should carry the body, use a text-first one — Literata, Spectral or Lora. Avoid other high-contrast display serifs: Libre Bodoni, Libre Caslon Display and Cormorant Garamond compete for the same job, and two faces arguing over one role reads as indecision rather than hierarchy.

Licensing and self-hosting

Playfair Display is licensed under the SIL Open Font License 1.1, stated in OFL.txt, in the binary's licence record, and as license: "OFL" in Google's metadata. It is genuinely in the open catalogue: the CSS API serves it from the /s// path, not a licensed /l/font?kit= path.

  • You may use it commercially, on the web, in apps, in client work and inside products you sell — and you may self-host, subset and modify it.
  • You must keep derivatives under the OFL, ship the licence with the files, and rename derivatives: unlike many Google Fonts families this one carries a genuine Reserved Font Name, with OFL.txt reserving "Playfair Display" and the trademark record reading "Playfair is a trademark of Claus Eggers Sørensen".
  • You may not sell the font file on its own.

Self-hosting is cheap. Google's variable woff2 slices are 38,460 bytes for roman latin and 38,888 for italic latin, with the roman file's latin-ext, cyrillic and vietnamese slices adding 20,980, 21,144 and 9,056 (the italic equivalents run 23,332, 23,352 and 9,548). Roman plus italic across the whole 400–900 range costs an English-language site about 77 KB — one file per style, no weight matrix.

Frequently asked questions

Is Playfair Display free for commercial use? Yes. The OFL 1.1 permits commercial use, embedding, modification and redistribution. Two conditions catch people out: derivatives must stay under the OFL, and because "Playfair Display" is a Reserved Font Name, a modified version has to be renamed.

Does Playfair Display have an optical size axis, and how does it differ from Playfair? It does not. Both files carry exactly one axis — wght, 400 to 900, default 400 — confirmed in fvar, in METADATA.pb, and by the CSS API declaring font-weight: 400 900. The opsz axis often attributed to it belongs instead to Playfair, the separate 2023 successor family, which carries opsz 5–1200, wdth 87.5–112.5 and wght 300–900 with body-text designs on the optical size axis. If you need one family covering headlines and paragraphs both, that is the one.

Why do my numbers look small and sit below the baseline? The default figures are oldstyle: zero tops out at the x-height, and five of the ten figures descend below the baseline — 3 by 151 units, 5, 7 and 9 by 148, and 4 by 141. Set font-variant-numeric: lining-nums for figures that align with the capitals.

Does it have small caps, and do I need Playfair Display SC? Usually not — the main family carries smcp and c2sc with 308 drawn small-cap glyphs, so font-variant-caps: small-caps works on the font you already loaded. Playfair Display SC exists (added 26 October 2012, same designer and licence) but is static, not variable, with only 400, 700 and 900 in roman and italic.

Is Playfair Display good for body text? No, and this is the most common misuse. Its hairlines are a fixed 20 units per em, under a third of a pixel at 16px on a 1× screen. Use it for headlines and hand paragraphs to a text face.

Are the italics real italics or a slant? Real, across all six weights. The italic angle is −14 degrees, but advance widths change in both directions relative to the roman — e 506→429, o 548→488, a 498→523 — and a mechanical shear preserves widths.

Which languages does it support? Latin, Latin Extended, Cyrillic and Vietnamese — 659 mapped codepoints, Vietnamese tone marks complete. There is no Greek — the alphabet is unmapped in both files; only the four maths borrowings Δ, Ω, μ and π appear from that block.

Is there a Light or Thin weight? No — the axis begins at 400. Playfair, the successor family, starts at 300.

Is Playfair Display on Google Fonts?

Yes, Playfair Display is available for free on Google Fonts. Get Playfair Display on Google Fonts ↗

Alternative For (42)

Playfair Display is a free alternative to the following premium fonts:

#1 Austin 85%
[commercial-type] · serif

Similar didone display character

View all alternatives
[jean-baptiste-morizot] · serif

Similar display serif character

View all alternatives
#3 Bodoni 78%
[itc] · serif

Contemporary interpretation capturing Bodoni's dramatic contrast

View all alternatives
[urw] · serif

Contemporary Didone with screen-optimized hairlines

View all alternatives
[hoeflerco] · serif

Closest free match with similar Scotch Roman-influenced high-contrast display character

View all alternatives
#6 Cirka 78%
[pangram-pangram] · serif

Similar elegant editorial serif

View all alternatives
#7 Didone 88%
[various] · display

Excellent high-contrast display alternative

View all alternatives
#8 Didot 85%
[linotype] · serif

Contemporary interpretation with similar dramatic contrast for display use

View all alternatives
#9 Domaine 80%
[klim-type-foundry] · serif

Similar editorial elegance

View all alternatives
[pangram-pangram] · serif

Closest high-contrast editorial match with broad versatility and wide adoption

View all alternatives
#11 Filosofia 70%
[emigre] · serif

Transitional-Didone hybrid with Cyrillic support matching Filosofia's multilingual reach

View all alternatives
#12 Francesca 72%
[2d-typo] · display

High-contrast display serif with similar editorial elegance and dramatic thick-thin transitions, though without Francesca's ornamental nodes

View all alternatives
[garagefonts] · serif

Nearly identical display character

View all alternatives
#14 Gliko 78%
[rui-abreu] · serif

Similar vintage display

View all alternatives
#15 GT Canon 70%
[grilli-type] · serif

High-contrast transitional display serif designed for headlines and titles

View all alternatives
#16 GT Super 82%
[grilli-type] · serif

Closest high-contrast display match with editorial versatility

View all alternatives
#17 Heldane 82%
[klim-type-foundry] · serif

Similar elegant display serif

View all alternatives
#18 Herbarium 65%
[gustav-and-brun] · display

Elegant display serif with decorative character

View all alternatives
#19 Ivy Mode 85%
[ivyfoundry] · serif

Similar fashion-forward display

View all alternatives
#20 Larken 78%
[ellen-luff] · serif

Similar elegant display serif

View all alternatives
#21 Migra 72%
[pangram-pangram] · serif

Serif display with variable options

View all alternatives
#22 Miller 85%
[font-bureau] · serif

Similar high-contrast editorial elegance

View all alternatives
[carter-and-cone] · serif

Similar elegant display serif

View all alternatives
#24 Moret 75%
[latinotype] · serif

Similar art deco elegance

View all alternatives
[schick-toikka] · serif

Closest free match with comparable high-contrast display character and editorial presence

View all alternatives
#26 Ogg 80%
[sharp-type] · serif

Closest high-contrast display match with editorial and fashion versatility

View all alternatives
#27 Portrait 85%
[commercial-type] · serif

Similar high-contrast display

View all alternatives
#28 Quiche 85%
[connary-fagen] · serif

Similar didone display

View all alternatives
#29 Quincy CF 78%
[connary-fagen] · serif

Similar elegant display

View all alternatives
#30 Recife 80%
[dstype] · serif

Similar bold display serif

View all alternatives
#31 Reckless 82%
[displaay] · serif

Similar high-contrast display

View all alternatives
[displaay] · serif

Similar bold display serif

View all alternatives
#33 Regal 80%
[production-type] · serif

Similar elegant display

View all alternatives
#34 Sangbleu 82%
[swiss-typefaces] · serif

Similar fashion-forward serif

View all alternatives
#35 Teodor 82%
[pangram-pangram] · serif

Similar fashion display serif

View all alternatives
#36 Trajan Pro 72%
[adobe] · display

Comparable elegant display serif

View all alternatives
#37 Voyage 72%
[pangram-pangram] · serif

Similar elegant display

View all alternatives
#38 Ambroise 72%
[typofonderie] · serif

High-contrast serif with similar Didone elegance suited to editorial display

View all alternatives
#39 Brioso Pro 66%
[adobe] · serif

High-contrast serif with comparable editorial elegance and expressive character

View all alternatives
#40 Freigeist 68%
[rene-bieder] · serif

High-contrast editorial serif with comparable display elegance

View all alternatives
#41 Bogart 68%
[zetafonts] · display

High-contrast display serif with elegant character

View all alternatives
#42 Grenette 70%
[colophon] · serif

High-contrast display serif with elegant character

View all alternatives

Compare Playfair Display

See how Playfair Display compares to other fonts side by side.

Variable Font Axes

Playfair Display is a variable font with 1 axis you can fine-tune.

Axis Min Default Max
wght 400 400 900

Font Pairings

Fonts that pair well with Playfair Display based on contrast and complementary design characteristics.

Jost + Playfair Display
88/100
sans-serif + serif
Best for: Refined, Minimal
Enterprise Healthcare Government
Playfair Display + URW Gothic
88/100
serif + sans-serif
Best for: Refined, Sophisticated
Enterprise Healthcare Government
Playfair Display + Uncial Antiqua
80/100
serif + display
Best for: Elegant, Classic
Playfair Display + Raleway
78/100
serif + sans-serif
Best for: Elegant, Sophisticated
Barlow + Playfair Display
76/100
sans-serif + serif
Best for: Clean, Modern
Healthcare Enterprise Accessibility

Performance

Key metrics for evaluating Playfair Display in production.

Score
62 /100 Good
File Size
228.2 KB Medium
Weights
9 (variable) + Italics
Languages
4 groups CDN delivery

Font Metrics

x-Height Ratio
0.514
Cap Height Ratio
0.708
Ascender
1082
Descender
-251

Fallback CSS Overrides

Apply these overrides to Georgia to minimize layout shift when loading Playfair Display.

@font-face {
  font-family: 'Playfair Display Fallback';
  src: local('Georgia');
  ascent-override: 108.2%;
  descent-override: 25.1%;
  line-gap-override: 0%;
  size-adjust: 106.76%;
}
woff2 Measured via Google Fonts API Metrics extracted from WOFF2

How to Use Playfair Display

Copy these code snippets to quickly add Playfair Display to your project.

Quick Start

CSS code for Playfair Display

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@100..900&display=swap');