Skip to content
Acme
Typography

One ramp, two families, applied with restraint.

A small set of type tokens covers everything from marketing displays to dense interface text.

Scale

Six tokens, one ramp.

Type ramp

Display and page anchor marketing surfaces. Section, lead, base, and sm carry interface copy and supporting prose.

  • text-display56px · 600 · -0.055em
    Shared parts.
  • text-page40px · 600 · -0.04em
    One ramp.
  • text-section24px · 500 · -0.02em
    Tokens grouped by role.
  • text-lead18px · 400 · 1.55
    A small set of parts, shared across our products.
  • text-base16px · 400 · 1.5
    A small set of parts, shared across our products.
  • text-sm14px · 400 · 1.43
    A small set of parts, shared across our products.
Family

Two faces, full range.

Geist

A single typeface in two grades — sans for interface and prose, mono for code and tabular metadata. Variable axes cover the full weight range.

Sans--font-sans
Aa
Geist Variable

The quick brown fox jumps over the lazy dog. 0123456789

Aa
300 · Light
Aa
500 · Medium
Aa
700 · Bold
Mono--font-mono
Aa
Geist Mono Variable

const radius = "0.75rem" // 0123456789

Aa
300 · Light
Aa
500 · Medium
Aa
700 · Bold
Numerals

Figures that line up.

Tabular vs proportional

Apply tabular-nums to columns of figures so digits land on a fixed grid. Use proportional for prose, where natural rhythm reads better.

Tabular
Proportional
Revenue
$1,204.50
$1,204.50
Refunds
$232.40
$232.40
Payouts
$23,108.00
$23,108.00
Pending
$77.99
$77.99

Decimal points line up in the tabular column. In proportional they drift, because each digit takes its natural width.