---
title: Geist Serif
description: The default serif, with four element shapes and a variable shape axis at Regular weight.
sidebar:
  icon: type
  order: 4
---

Use Geist Serif whenever a SHAUGHV design calls for serif typography. Makira remains the default sans and Geist Mono the default mono. [Michelangelus](/fonts/michelangelus) is the serif alternate, including when a design needs real bold or italic faces.

## Preview

The variable font changes element shapes through `ELSH`. Try text with `i`, `j`, or punctuation, then adjust the shape control. Weight stays at 400.

<FontPlayground family="Geist Serif" />

<div class="cdn-specimen cdn-geist-serif">
  <span class="cdn-specimen-label">Default serif / Regular / 400</span>
  <p class="cdn-display">A little detail. A lasting impression.</p>
  <p class="cdn-body">Give an idea room to breathe. Inspect fine strokes at the intended reading size and on the actual display.</p>
</div>

## Install

The standard bundle includes Geist Serif alongside Makira and Geist Mono, with Paper Mono and Gail Rock retained for compatibility:

```html
<link rel="stylesheet" href="https://cdn.shaughv.com/fonts/fonts.css" />
```

For the serif alone:

```html
<link rel="stylesheet" href="https://cdn.shaughv.com/fonts/geist-serif/geist-serif.css" />
```

## Usage

```css
:root { --font-serif: "Geist Serif", Georgia, serif; }
.serif {
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
  letter-spacing: normal;
}
.square-elements { font-family: "Geist Serif Square", Georgia, serif; }
.variable-elements {
  font-family: "Geist Serif Variable", Georgia, serif;
  font-variation-settings: "ELSH" 25;
}
```

Use the Regular shape by default. Choose Square, Triangle, or Heart deliberately. The supplied files have no bold, italic, or `wght` axis; do not present synthetic styles as supplied faces. Choose [Michelangelus](/fonts/michelangelus) explicitly when real serif bold and italics are required.

## Details

| Shape | CSS family | `ELSH` value | Static downloads |
| --- | --- | --- | --- |
| Regular | `"Geist Serif"` | 0 | [WOFF2](https://cdn.shaughv.com/fonts/geist-serif/woff2/GeistSerif-Regular.woff2), [TTF](https://cdn.shaughv.com/fonts/geist-serif/ttf/GeistSerif-Regular.ttf) |
| Square | `"Geist Serif Square"` | 25 | [WOFF2](https://cdn.shaughv.com/fonts/geist-serif/woff2/GeistSerif-Square.woff2), [TTF](https://cdn.shaughv.com/fonts/geist-serif/ttf/GeistSerif-Square.ttf) |
| Triangle | `"Geist Serif Triangle"` | 50 | [WOFF2](https://cdn.shaughv.com/fonts/geist-serif/woff2/GeistSerif-Triangle.woff2), [TTF](https://cdn.shaughv.com/fonts/geist-serif/ttf/GeistSerif-Triangle.ttf) |
| Heart | `"Geist Serif Heart"` | 100 | [WOFF2](https://cdn.shaughv.com/fonts/geist-serif/woff2/GeistSerif-Heart.woff2), [TTF](https://cdn.shaughv.com/fonts/geist-serif/ttf/GeistSerif-Heart.ttf) |

The variable family is `"Geist Serif Variable"`, available as [WOFF2](https://cdn.shaughv.com/fonts/geist-serif/variable/GeistSerif-Variable.woff2) and [TTF](https://cdn.shaughv.com/fonts/geist-serif/variable/GeistSerif-Variable.ttf). Its `ELSH` range is 0–100 with default 0. This axis changes shapes; it does not change weight. All ten supplied version 1.001 binaries are preserved byte-for-byte. No OTF files were supplied.

## Reference

[Family metadata](https://cdn.shaughv.com/fonts/geist-serif/font-info.json) records source filenames, published paths, checksums, versions, shapes, axis limits, and inspected OpenType tags. The [live catalog](https://cdn.shaughv.com/tree.json) declares `fonts.all.defaults.serif` as `geist-serif` and exposes the family at `fonts["geist-serif"]` with `availability: "standard"`.

Geist Serif is released by [Vercel's Geist project](https://github.com/vercel/geist-font) under SIL Open Font License 1.1. Keep the [OFL](https://cdn.shaughv.com/fonts/geist-serif/OFL.txt) and [copyright notice](https://cdn.shaughv.com/fonts/geist-serif/LICENSE.txt) with redistributed files. [Geist Sans](/fonts/geist) and [Geist Mono](/fonts/geist-mono) cover the sans alternate and default mono roles, respectively.
