A curated guide to high-quality open-source typefaces. Explore each family’s history and design, available weights and styles, character and text specimens, OpenType features, and complete glyph set. The site includes responsive layouts and light and dark themes.
The original version of the site is archived here: https://beautifulwebtype.com/v1/
- Added Mioya by Sora Sagano.
- Added Aujournuit by Teo Gaudet.
- Added Piazzolla by Juan Pablo del Peral.
- Added Luperca by Ariel Martín Pérez.
- Added Libre Caslon Display by Pablo Impallari and Rodrigo Fuenzalida.
- Added Libre Caslon Text by Pablo Impallari and Rodrigo Fuenzalida.
- Added Libre Caslon Condensed by Ertekin Erdin.
- Added Mona Sans and Hubot Sans by GitHub and Degarism.
- Added EB Garamond by Georg Duffner and Octavio Pardo.
- Added Bricolage Grotesque by Mathieu Triay.
-
Added Newsreader by Production Type.
-
Added Schibsted Grotesk by Bakken & Bæck.
-
Added Zalando Sans by Jakob Ekelund of KH Type.
-
Added TikTok Sans by Grilli Type, Contrast Foundry, and Type Network.
-
Added Familjen Grotesk by Familjen STHLM.
-
Added Strichpunkt Sans by René Bieder.
-
Refreshed the design: improved font cards, specimen layouts, mobile navigation, and light and dark themes.
-
Expanded typeface descriptions with background, design details, and suggested uses.
-
Improved the glyph viewer with a complete inline grid and a persistent selected-glyph preview.
-
Simplified font pages: clearer metadata and OpenType examples; removed pairings and comparisons.
- Refreshed font files and glyph sets for 20 typefaces: Alegreya, Archivo, BioRhyme, BioRhyme Expanded, Crimson Pro, IBM Plex Mono, IBM Plex Sans, IBM Plex Sans Condensed, IBM Plex Serif, Inria Sans, Le Murmure, Libre Franklin, Messapia, Oswald, Poppins, Rakkas, Space Mono, TASA Orbiter, Vollkorn, and Work Sans. Updated release metadata and retired unsupported examples.
- Expanded Instrument Sans OpenType examples: arrow ligatures (
->,<-), proportional figures and symbols, uppercase ordinal inputs (3A,4O), case-sensitive punctuation, and additional accented/stylistic alternates; correctedss09–ss12feature rules.
- Removed Jost, as the creator now charges for the variable font.
- Added Commissioner.
- Added Instrument Sans.
- Added Instrument Serif.
- Added TASA Orbiter.
- Updated Source Code Pro to version 1.024.
- Added Fraunces.
All typefaces are licensed under the SIL Open Font License.
- Alegreya
- Alegreya Sans
- Archivo
- Archivo Black
- Aujournuit
- BioRhyme
- BioRhyme Expanded
- Bricolage Grotesque
- Commissioner
- Cooper Hewitt
- Crimson Pro
- EB Garamond
- Familjen Grotesk
- Fira Code
- FiraGo
- Fivo Sans
- Fivo Sans Modern
- Fraunces
- Hubot Sans
- iA Writer Quattro
- IBM Plex Mono
- IBM Plex Sans
- IBM Plex Sans Condensed
- IBM Plex Serif
- Inria Sans
- Inria Serif
- Instrument Sans
- Instrument Serif
- Inter
- Le Murmure
- Libre Caslon Condensed
- Libre Caslon Display
- Libre Caslon Text
- Libre Franklin
- Lora
- Luperca
- Messapia
- Mioya
- Mona Sans
- Newsreader
- Oswald
- Piazzolla
- Playfair Display
- Poppins
- Rakkas
- Schibsted Grotesk
- Source Code Pro
- Source Sans Pro
- Source Serif Pro
- Space Grotesk
- Space Mono
- Strichpunkt Sans
- TASA Orbiter
- TikTok Sans
- Vollkorn
- Work Sans
- Zalando Sans
- Zilla Slab
I'm happy to receive suggestions for typefaces via a GitHub issue. When sending suggestions please include an example or two of the typeface in use. This helps me to make an initial evaluation of the typeface.
Install dependencies and start the Next.js dev server:
pnpm install
pnpm dev
Useful commands:
pnpm build
pnpm test
Create content/typefaces/<slug>/ with:
data.ts: typed font metadata, description, weights, glyph configuration, and OpenType feature examples.
Import the new data module in content/typefaces/index.ts. Use an existing font as a template.
The fontFile field selects the glyph explorer font. glyphSource, when present, preserves the original variable font used to generate its regular instance. Run python3 scripts/prepare-glyph-fonts.py after changing font assets to refresh glyph counts and regular instances (requires fonttools and brotli).
For OpenType features, use Tailwind arbitrary properties such as [font-feature-settings:'smcp'].
content/site/text.ts exports the typed reusable words, headlines, and paragraphs.