Blog

16 posts on web fonts, compression, and performance.

font-face unicode-range: A Practical Guide

Learn how @font-face unicode-range works, why it matters for performance, and how to use it with real fonts like Inter and Open Sans.
2026-06-21 • 4 min read

font-display: swap Explained

Learn exactly how font-display: swap works, when to use it, and the trade-offs it brings to load performance and layout stability.
2026-06-14 • 4 min read

Fira Code vs JetBrains Mono: Which Wins for Coding?

A deep-dive comparison of Fira Code and JetBrains Mono covering ligatures, legibility, weight range, and which font wins for each coding scenario.
2026-06-07 • 4 min read

Best Variable Fonts to Use in 2026

A practical roundup of the best variable fonts in 2026, with honest recommendations on where each one earns its place in real projects.
2026-05-31 • 4 min read

Best Free Sans-Serif Fonts for Landing Pages

Ten free sans-serif fonts that actually work on landing pages, with honest takes on which one fits your product, audience, and performance budget.
2026-05-24 • 4 min read

Best Free Monospace Fonts for Code and Design

A practical roundup of the best free monospace fonts in 2026, with honest takes on where each one wins for coding, terminals, and typographic design.
2026-05-17 • 4 min read

Best Free Handwriting Fonts for Your Next Project

A developer-focused roundup of the best free handwriting fonts in 2026, with honest advice on when each one actually works and when to skip it.
2026-05-10 • 3 min read

Best Free Display Fonts for Headers

A practical roundup of the best free display fonts, with honest takes on where each one actually works and when to skip it.
2026-05-08 • 3 min read

Best free serif fonts for editorial sites in 2026

10 free serif fonts that hold up at body sizes, headline sizes, and on retina screens. With pre-compressed WOFF2s and the cases each one wins.
2026-05-08 • 4 min read

Subset Inter to under 20KB without breaking your headlines

Inter ships with 2,500+ glyphs covering Vietnamese, Cyrillic, Greek, and rare ligatures. Most sites use 200 of them. Here's how to cut to what you actually need.
2026-05-08 • 4 min read

Variable fonts vs static WOFF2: which is actually smaller?

A variable font with 9 weights bundles into one file. Nine static WOFF2 cuts are nine separate files. The smaller-on-paper option isn't always faster in practice.
2026-05-08 • 4 min read

How to preload WOFF2 fonts (without making things slower)

rel=preload tells the browser to fetch a font early. Done right, it cuts LCP by 200ms+. Done wrong, it duplicates requests and hurts performance.
2026-05-08 • 4 min read

Self-host Google Fonts for GDPR compliance

Loading fonts from fonts.googleapis.com sends every visitor's IP to Google. German courts have ruled that violates GDPR. Here's the fix in 5 minutes.
2026-05-08 • 4 min read

Fix "Ensure text remains visible during webfont load" in Lighthouse

Lighthouse flags this on roughly half of audited sites. The fix is one line of CSS, but only if you understand which font-display value to pick.
2026-05-08 • 4 min read

font-display: swap vs optional vs fallback, what to actually use

swap, optional, fallback, block, auto. Each one trades blocking time for layout shift. Here's when each makes sense, with real-world tradeoffs.
2026-05-08 • 4 min read

How to compress fonts to WOFF2 for the web

WOFF2 cuts a typical font file by 70-90% with no quality loss. Here's the practical workflow: subset to the characters you need, encode with brotli, drop hinting tables.
2026-05-08 • 3 min read