How to subset a font online to shrink woff2 by 60–90%
- Step 1Drop your font — Any TTF, OTF, WOFF, or WOFF2. The tool parses with opentype.js and reads the full glyph set.
- Step 2Pick a charset — Latin Basic + Latin-1 Supplement covers English plus most Western European languages. Latin Extended adds Polish, Czech, Turkish. Cyrillic for Russian and friends.
- Step 3Download the subset — Output is a subset TTF — typically 5–15% of the source size. Run through TTF→WOFF2 next for the smallest possible deliverable.
Frequently asked questions
How small can my font get?+
A typical Latin sans-serif drops from 200 KB TTF to 15–25 KB after subset to Latin Basic + WOFF2 compression. CJK fonts subset to JIS Level 1 often drop from 5 MB to 800 KB.
Are kerning and ligatures preserved?+
Glyph outlines are preserved. OpenType layout features (GSUB/GPOS) are partially reduced — opentype.js's writer can't fully round-trip them. For mission-critical typography, run the Kerning Auditor on the subset to verify.
Can I subset variable fonts?+
Yes for the glyph set, but variable axis tables (fvar/gvar) may be affected. Test the result; for guaranteed-correct variable subsetting, use fonttools' pyftsubset on the desktop.
Privacy first
Every JAD Font tool runs entirely in your browser using opentype.js and the wawoff2 WASM Brotli encoder. Your fonts never leave your device — verified by zero outbound network requests during processing.