Fontsource Inter

Self-host the Inter typeface with a single npm install and zero third-party font requests.

Library
npm
v5.3.0
506 stars
OFL-1.1

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
69 /100 Good
Development Activity 84
Maintenance 44
Community 56
Maturity 52
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
75 /100 Good
Architecture 70
Code Quality 68
Innovation 78
Learning Curve 82

@fontsource/inter packages the open-source Inter typeface — one of the most widely used interface fonts on the web — as a self-hostable npm module. Instead of pulling render-blocking requests from Google Fonts, you install the package, import the generated CSS, and serve the bundled WOFF2/WOFF files straight from your own build output.

It ships pre-generated @font-face CSS for every weight (100-900) in both normal and italic styles, plus subset-specific stylesheets (latin, latin-ext, cyrillic, cyrillic-ext, greek, greek-ext, vietnamese) so you only load the glyphs your audience needs. A companion variable-font package covers the full weight axis in a single file for teams that prefer one request over many.

What You Get

  • Pre-generated @font-face CSS for every weight (100-900) in both normal and italic styles
  • WOFF2 and WOFF binary font files bundled directly in the package, no CDN or external request required
  • Subset-specific CSS (latin, latin-ext, cyrillic, cyrillic-ext, greek, greek-ext, vietnamese) for selective glyph loading
  • SCSS mixins and a metadata/unicode JSON pair for tooling that needs to select subsets or weights programmatically

Common Use Cases

  • Removing the Google Fonts network request to improve Core Web Vitals (LCP/CLS) and page-load reliability
  • Self-hosting fonts in privacy-conscious apps (GDPR compliance, strict CSP) that cannot call out to Google’s font CDN
  • Bundling Inter into a design system or component library shipped as a pinned, versioned dependency instead of a CDN link tag
  • Serving only the subsets a target locale needs, cutting shipped font-file weight versus a single monolithic font file

Under The Hood

Architecture The repository is a monorepo of self-contained font directories under fonts/{google,variable,icons,variable-icons,other}/<name>/, each holding generated @font-face CSS split by weight, style, and subset (e.g. fonts/google/inter/400.css, cyrillic-400.css), matching binary files/.woff2 and files/.woff assets, per-font metadata.json/unicode.json/package.json, and scss/ mixins for Sass consumers. Root-level scripts/ (metadata.ts, fontlist.ts, algolia.ts, check-duplicates.ts, gfm-metadata.ts) aggregate every font directory’s metadata into top-level metadata/fontsource.json, FONTLIST.json, and Algolia search records used by fontsource.org; the actual CSS/font-file generation and npm publishing happen through the separate @fontsource-utils/cli and @fontsource-utils/publish tooling, so this repo is primarily a store of generated artifacts plus aggregation scripts rather than application logic.

Tech Stack Aggregation scripts are TypeScript executed via Bun (bun.lock, .mise.toml pins the Bun toolchain), depending on @fontsource-utils/cli, @fontsource-utils/publish, google-font-metadata, algoliasearch, consola, pathe, and json-stringify-pretty-compact. The published @fontsource/inter package itself has zero runtime JavaScript dependencies: it is pure CSS plus WOFF2/WOFF binaries and a stub index.d.css.ts for editor tooling, consumed via plain CSS imports or Sass mixins.

Code Quality There are no hand-written unit tests over application logic since this is a generated-asset repo; correctness is instead enforced by fontsource create-verify --all (from @fontsource-utils/cli) wired as the test script, plus a check-duplicates.ts script guarding against duplicate metadata across 2,000+ font families. Because CSS and metadata are generated from Google’s font source rather than hand-authored, manual-edit error risk is concentrated in the shared generation tooling rather than spread across each font’s files.

API Design Installing @fontsource/inter and importing @fontsource/inter/400.css (or the bare @fontsource/inter for the 400-weight default) requires zero configuration to get a working @font-face rule. The <weight>[-italic].css / <subset>-<weight>[-italic].css naming convention is identical across all 2,000+ Fontsource packages, so familiarity transfers directly between fonts. The tradeoff is package footprint: every subset/weight/style combination ships as its own CSS+WOFF2/WOFF pair (419 files, ~4.3MB unpacked for Inter), so consumers must cherry-pick specific imports rather than rely on automatic tree-shaking.

Used by 163 apps in this directory

TypeScript
94%
AGPL 3.0

Element Web

Collaboration · Team Chat

13,609

A polished, self-hostable Matrix client for secure, decentralized messaging and collaboration that puts your organization in full control of its data.

View details
96
Repo Health
83
Technical
64
Dependency
Built with
TypeScript 94%
Updated 1 weeks ago
TypeScript
64%
Other

Epicenter

Developer Tools · Knowledge Management · Note Taking

4,825

A local-first monorepo led by Whispering, an open-source speech-to-text app, built on an MIT toolkit that turns your data into plain Markdown and SQLite files you own instead of a database you rent.

View details
87
Repo Health
90
Technical
64
Dependency
Built with
TypeScript 64%
Rust 15%
Updated 1 weeks ago
TypeScript
64%
Other

Epicenter

Developer Tools · Knowledge Management · Note Taking

4,825

A local-first monorepo led by Whispering, an open-source speech-to-text app, built on an MIT toolkit that turns your data into plain Markdown and SQLite files you own instead of a database you rent.

View details
87
Repo Health
90
Technical
64
Dependency
Built with
TypeScript 64%
Rust 15%
Updated 1 weeks ago
TypeScript
82%
MIT

evidence

Analytics · Data Engineering

7,052

Turn SQL queries and markdown files into polished, interactive data apps and business intelligence reports — no drag-and-drop, no GUI, just code.

View details
91
Repo Health
79
Technical
64
Dependency
Built with
TypeScript 82%
Svelte 17%
Updated 1 weeks ago
Elixir
64%
Apache 2.0

Firezone

Networking · Security

9,123

Enterprise-grade zero-trust access platform built on WireGuard® that replaces legacy VPNs with peer-to-peer, identity-aware secure tunnels.

View details
90
Repo Health
85
Technical
79
Dependency
Built with
Elixir 64%
Rust 26%
Updated 6 days ago
Elixir
64%
Apache 2.0

Firezone

Networking · Security

9,123

Enterprise-grade zero-trust access platform built on WireGuard® that replaces legacy VPNs with peer-to-peer, identity-aware secure tunnels.

View details
90
Repo Health
85
Technical
79
Dependency
Built with
Elixir 64%
Rust 26%
Updated 6 days ago
Elixir
64%
Apache 2.0

Firezone

Networking · Security

9,123

Enterprise-grade zero-trust access platform built on WireGuard® that replaces legacy VPNs with peer-to-peer, identity-aware secure tunnels.

View details
90
Repo Health
85
Technical
79
Dependency
Built with
Elixir 64%
Rust 26%
Updated 6 days ago
Go
68%
MIT

Gogs

Developer Tools

47,897

The painless self-hosted Git service that runs on anything from a Raspberry Pi to a $5 cloud droplet, delivering GitHub-like workflows as a single Go binary.

View details
82
Repo Health
79
Technical
71
Dependency
Built with
Go 68%
Go Template 16%
Updated 1 weeks ago
Go
68%
MIT

Gogs

Developer Tools

47,897

The painless self-hosted Git service that runs on anything from a Raspberry Pi to a $5 cloud droplet, delivering GitHub-like workflows as a single Go binary.

View details
82
Repo Health
79
Technical
71
Dependency
Built with
Go 68%
Go Template 16%
Updated 1 weeks 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