Geist

Vercel's Geist Sans, Mono, and Pixel typefaces, pre-packaged as drop-in Next.js font loaders.

Library
npm
v1.7.2
3,615stars
OFL-1.1

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
53/100Fair
Development Activity28
Maintenance44
Community52
Maturity48
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
59/100Fair
Architecture62
Code Quality45
Innovation38
Learning Curve90

Geist is the official npm distribution of Vercel’s Geist type family — Geist Sans, Geist Mono, and the five-variant Geist Pixel display faces — designed by Vercel in collaboration with Basement Studio and Andres Briganti around the principles of classic Swiss typography. The package ships variable and non-variable WOFF2 builds pre-wired through next/font/local, so each face becomes a NextFontWithVariable export ready to attach via className or CSS variable.

Rather than requiring consumers to self-host font files or hand-configure @font-face rules, geist exports one import per face (geist/font/sans, geist/font/mono, geist/font/pixel, plus non-variable fallbacks) that Next.js optimizes automatically — inlining font metadata, avoiding layout shift, and eliminating any runtime request to an external font CDN.

What You Get

  • Geist Sans and Geist Mono variable fonts preloaded via next/font/local with weights 100-900 in a single ~30kb variable file, plus non-variable fallbacks for browsers without variable-font support.
  • Five Geist Pixel display variants (Square, Grid, Circle, Triangle, Line), each exported separately with its own CSS variable and monospace fallback stack.
  • Zero-config Next.js optimization: every export is a NextFontWithVariable, so Next.js inlines font metadata and eliminates font-swap layout shift automatically.
  • Tailwind CSS v3 and v4 integration via documented CSS variables (—font-geist-sans, —font-geist-mono, —font-geist-pixel-*) that plug directly into theme config.
  • SIL Open Font License (OFL-1.1) fonts — free for commercial and personal use with no attribution required in the shipped binaries.

Common Use Cases

  • Next.js App Router typography - importing GeistSans and GeistMono into app/layout.js to set the site-wide font stack in one line.
  • Vercel-style dashboards and marketing sites - teams matching Vercel’s own visual identity without self-hosting font files.
  • Code-heavy interfaces - using GeistMono for code editors, terminals, and diagrams that need a monospace face paired to GeistSans.
  • Retro/display branding - using GeistPixel variants for headlines and logos wanting a pixel aesthetic without sourcing custom font files.

Under The Hood

Architecture The repository is a monorepo split between a Python-based font-build toolchain at the root (Makefile, scripts/.py, sources/, requirements.txt) that compiles the Geist type family into variable and static WOFF2/TTF binaries under fonts/, and packages/next/ — the published npm surface — which re-packages a curated subset of those binaries (Geist-Variable.woff2, GeistMono-Variable.woff2, five GeistPixel-.woff2 files) behind deliberately thin JS modules (dist/sans.js, dist/mono.js, dist/pixel.js) that each call next/font/local with a fixed src/variable/fallback configuration. A legacy top-level geist/font entry point re-exports the same fonts as deprecated aliases alongside the current per-face entry points (geist/font/sans, geist/font/mono, geist/font/pixel), so the wrapper layer’s only real responsibility is keeping those two export surfaces in sync as fonts are added or renamed.

Tech Stack The published package’s package.json declares next as a peerDependency (>=13.2.0), @changesets/cli as its sole devDependency, type: module with an exports map covering six subpaths, and is built/released with pnpm (packageManager pinned to pnpm@10.33.4). Versioning and npm publishing are automated through Changesets CI, triggered on merges to main via .github/workflows/ci.yaml and guard-prerelease.yaml. The font-build side of the monorepo runs a separate Python toolchain (requirements.txt / requirements-test.txt) driven by a Makefile to generate and customize the underlying variable fonts before they’re copied into the npm package’s dist/fonts directory.

Code Quality No JavaScript/TypeScript test files or test script exist in packages/next — the wrapper modules are a handful of declarative next/font/local calls with no logic to unit test, and this is stated here explicitly rather than assumed. Type safety is provided through hand-authored .d.ts declaration files with extensive JSDoc (including @deprecated annotations distinguishing the legacy geist/font exports from the current per-face ones), and naming is consistent across all exports (GeistSans, GeistMono, GeistPixelSquare/Grid/Circle/Triangle/Line). No linter configuration is present inside packages/next itself; CI at the repo root runs build/release checks but no dedicated JS test suite was found.

API Design The public API is intentionally minimal and ergonomic: one import per typeface variant, each already shaped as a NextFontWithVariable so consumers only ever touch .className or .variable. Getting started requires a single import line and no configuration; the only friction documented is a transpilePackages entry needed on Next.js versions older than 15, called out explicitly in the README with the exact error messages it fixes. Comprehensive fallback font stacks are baked into the Mono and Pixel exports so unstyled text remains legible before the webfont loads, and README coverage extends to Tailwind v3 and v4 wiring, App Router and Pages Router examples, and per-variant CSS variable names.

Used by 20 apps in this directory

Python
67%
Other

AutoGPT

Automation · Productivity · AI Assistants

187,177

Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.

View details
93
Repo Health
78
Technical
66
Dependency
Built with
Python67%
TypeScript32%
Updated today
Rust
53%
Other

Cap

Team Chat · Video Conferencing

21,859

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust53%
TypeScript43%
Updated yesterday
TypeScript
84%
Apache 2.0

Continue

Developer Tools · AI Development · AI Code Assistants

35,808

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
81
Repo Health
88
Technical
62
Dependency
Built with
TypeScript84%
Updated yesterday
TypeScript
100%
Other

Dub

Marketing · Analytics

24,676

The open-source link attribution platform for short links, conversion tracking, and affiliate programs — powering 100M+ clicks monthly.

View details
80
Repo Health
78
Technical
62
Dependency
Built with
TypeScript100%
Updated 2 days ago
TypeScript
96%
Other

Dyad

AI Development · Productivity · AI Code Assistants

21,390

Build AI-powered apps locally with your own keys, your own models, and zero cloud lock-in.

View details
88
Repo Health
83
Technical
69
Dependency
Built with
TypeScript96%
Updated yesterday
TypeScript
99%
AGPL 3.0

fountain-ink

Blogging

64

A self-hostable, decentralized blogging platform built on Lens Protocol — own your content, audience, and distribution forever.

View details
26
Repo Health
66
Technical
66
Dependency
Built with
TypeScript99%
Updated 7 months ago
TypeScript
98%
MIT

GitDiagram

Developer Tools · AI Development

15,958

Turn any GitHub repository into an interactive architecture diagram in seconds

View details
71
Repo Health
79
Technical
80
Dependency
Built with
TypeScript98%
Updated 5 days ago
Python
67%
Apache 2.0

GPT Researcher

Productivity · AI Assistants

29,319

The pioneering open-source autonomous AI agent that conducts deep, multi-source research and produces citation-backed reports exceeding 2,000 words — faster and more reliably than any human researcher.

View details
90
Repo Health
91
Technical
63
Dependency
Built with
Python67%
TypeScript20%
Updated 1 weeks ago
TypeScript
96%
AGPL 3.0

Kan

Project Management

5,585

An open-source, self-hostable Kanban board built as a modern Trello alternative with team workspaces, board permissions, and Trello import.

View details
85
Repo Health
78
Technical
67
Dependency
Built with
TypeScript96%
Updated 2 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search