Geist started as a monospace typeface for developers, built for the editors and terminals where they spend their day doing their work. From there it grew into Geist Sans for product interfaces, and then into Geist Pixel, which was inspired by the grids of early computer screens.
Today, we're adding a new member to the family: Geist Serif.
Geist Serif is a high-contrast display serif built on the same foundations as Geist Sans, Geist Mono, and Geist Pixel. It has fine, saw-toothed serifs and sharp hairlines, and it was drawn to communicate messages powerfully both in the physical world and on the high-density screens on modern devices.
Copy link to headingSame system, new voice
At Vercel, Geist Sans runs the product. For headlines, though, we wanted a second voice, one that belongs to the same system, instead of a stranger picked from a drop-down menu.
A lot of tech brands have moved away from clean sans-serifs to get some personality back, and many of them borrow from vintage computer ads. Geist Serif takes a different path: toward fashion, editorial design, and magazine headlines. It's our homage to the artists behind Rolling Stone and Harper's Bazaar.
From the beginning, each Geist family has read from a chapter of type history: the Swiss design movement, early terminal and DOS computing, and now editorial print.
Copy link to headingDisplay first
Geist Serif began as a set of sketches by Evil Rabbit, which Andrés Briganti then expanded. The first letters already showed an expressive serif, in the spirit of typefaces like Victor Serif and Stanley.
When Mark Davis took over the drawings, we made the first release a display face for headlines, posters, and other large sizes, while work on the full family continued. Print has always struggled to hold fine hairlines and sharp serifs, but today's displays can handle a high level of detail. We wanted the new face to take full advantage of modern screens, so we thinned every downstroke by 50% and tightened the sidebearings to push the contrast as far as it would go.
Each serif has a wedge on one side and a curve on the other, so the proportions are classical and look beautiful in print, but the construction is new and optimized for digital devices.
We created something that could only be made for today. Not overly blocky for screens from a decade ago, not filled with mechanical compromises for physical ink. Just serifs at perfect points. Mark Davis founder & font designer at WORDMARK
We created something that could only be made for today. Not overly blocky for screens from a decade ago, not filled with mechanical compromises for physical ink. Just serifs at perfect points.
Mark Davis founder & font designer at WORDMARK
Copy link to headingFrom the first prototype to today
The first prototype of Geist Serif was shared on April 1, 2026. Here's the same word, Geist, in that prototype, compared with the display drawing shipping today.
Copy link to headingGeist grew teeth
The goal was to honor our original intent and keep the serif closely tied to the sans, even when the letters sit on top of each other. Geist Serif’s stems match Geist Sans, and the two share widths and postures.
The saw-toothed serifs and high contrast give Geist an editorial voice. One phrase kept coming up as each character was drawn: “Geist grew teeth.”
Copy link to headingFour families, one x-height
Geist Serif uses the same cap height and x-height as Geist Sans, so you can drop it into any Geist layout without moving a line. Mix Sans, Mono, Pixel, and Serif in the same sentence and every word looks the same size.
Metric
Geist Sans
Geist Serif
UPM
1000
1000
Cap height
710
710
x-height
530
530
Ascender
710
750
Descender
-150
-200
Copy link to headingFour variants, one axis
Like Geist Pixel, Geist Serif has a variable axis that swaps the shape of every dot in the font, including those on i and j and in punctuation. The axis is called Element Shape (ELSH), and it gives you four variants: Regular with round dots (the default), Square, Triangle (a nod to the Vercel logo), and Heart.
Each variant also ships as its own static file. If you use the variable font, pick a variant with font-variation-settings:
Copy link to headingCrafted by hand
In July the font had 227 glyphs. It now has 894 and covers 352 Latin-script languages, and we worked through more than 52,000 kerning pairs to get the spacing right. Some of the details are tiny. The eye of the g, for example, is tilted exactly 7°.
Copy link to headingSpecs at a glance
Geist Serif ships with:
- 1 weight (Regular)
1 weight (Regular)
- 4 variants (Regular, Square, Triangle, Heart)
4 variants (Regular, Square, Triangle, Heart)
- 894 glyphs
894 glyphs
- 5 stylistic sets (ss01 to ss05)
5 stylistic sets (ss01 to ss05)
- 352 supported languages
352 supported languages
Copy link to headingGetting started
Geist Serif ships in the same package as the rest of the family:
terminal
npm i geist
Exports and CSS variables:
- GeistSerif (variable, all shapes): --font-geist-serif
GeistSerif (variable, all shapes): --font-geist-serif
- GeistSerifRegular: --font-geist-serif-regular
GeistSerifRegular: --font-geist-serif-regular
- GeistSerifSquare: --font-geist-serif-square
GeistSerifSquare: --font-geist-serif-square
- GeistSerifTriangle: --font-geist-serif-triangle
GeistSerifTriangle: --font-geist-serif-triangle
- GeistSerifHeart: --font-geist-serif-heart
GeistSerifHeart: --font-geist-serif-heart
Each one has its own entry point, so you only ship the font file you use. For example, in layout.tsx with GeistSerifRegular:
import { GeistSerifRegular } from 'geist/font/serif/regular';
export default function RootLayout({ children }) {
return (
<html lang="en" className={GeistSerifRegular.variable}>
<body>{children}</body>
</html>
You can also download the font files, test every stylistic set, and inspect each glyph at vercel.com/font.
Copy link to headingWhat’s next
Regular is the first style we’re releasing, and the rest of the family is already in progress. We’re testing future versions while building this one, so this release is just the start.
Copy link to headingWeights from Thin to Black
The variable font will range from Thin (100) to Black (900). In this week’s proofs, the g in Black is the letter we can’t stop looking at.
Copy link to headingToward a text face
To explore a text version, we built a foundry tool that measures strokes, including where they meet, and thickens the display outlines. It edits the outlines directly, so we can set real words and see which strokes need more weight.
Copy link to headingItalics, built rule by rule
We’re also developing an italic generated entirely in Python. We slanted existing italics back upright and compared them with their romans. With the angle removed, the remaining differences show up clearly, and we turned them into rules we can test and revise. This italic won’t be the final version, but breaking glyphs in code helps us find the limits faster.
Copy link to headingMore scripts and Google Fonts
Cyrillic support is planned to match Geist Sans and Geist Mono, and Geist Serif will come to Google Fonts after launch.
Copy link to headingOne family
With Geist Sans, Geist Mono, Geist Pixel, and now Geist Serif, the family runs from UI text and code to expressive display type, and all four feel at home together.
Download Geist Serif and start building.
Thank you to everyone who made Geist Serif possible.
None of this would have been possible without an incredible group of people behind the scenes.
Huge thanks to Andrés Briganti for starting this journey with me and drawing the first version that everything else grew from, and to Mark Davis for carrying it across the finish line with obsessive craft, from the expanded glyph set and variable axis to every last kerning pair. Thanks also to Patrick McDonald and Marijana Pavlinić for the poster designs, to Luis Gutierrez Rico for the motion and incredible magic, to Christopher Kindl for shipping the package and rebuilding the landing page down to the smallest details, and to Zahra Jabini for the coordination and technical support that brought it all together. This was a true team effort, and I’m grateful to have built it with all of you.

![What are the latest Hootsuite product features? [September 2026]](/_next/image?url=%2Fapi%2Fuploads%2Farticles%2F4bdf776c077043f8693820e5927b7f46.webp&w=3840&q=75)










