Subset fonts.
Keep only the characters you use — subset fonts locally.
Drop font files here
or browse your files
Paste with ⌘V · or drop files anywhere on the page
Files never leave your device. Everything runs in your browser, nothing touches a server — tools you've used even work offline.
A font ships every glyph it knows; your page usually needs a fraction of them. Pick character sets or paste the exact text, and HarfBuzz — the same subsetter the big font services run — keeps just those glyphs, with kerning and ligatures intact. Everything happens in your browser.
How it works
- Drop a font — TTF, or WOFF/WOFF2 with TrueType outlines (batches work too).
- Tick the character sets you need, paste exact text, or pin variable axes.
- Subset, check the before/after glyph counts, and download the result.
Pick the right character sets
Basic Latin covers English text, digits and ASCII punctuation; add Latin-1 accents for Western European languages and Punctuation & symbols for smart quotes, dashes and the euro sign. Building a one-off headline or a logo? Paste the exact text instead — the font shrinks to just those letters. Serve the result as WOFF2 for the web; TTF to WOFF2 handles fonts you are not subsetting.
Variable fonts
A variable font carries every weight and width in one file. When one style is all you use, pin the axes while subsetting — or use Variable font to static if pinning is the only thing you need. Leaving the axes variable works too; the character set still shrinks.
Frequently asked questions
How much smaller does a subset font get?
That depends on how much you cut: trimming a 2,000-glyph font down to Basic Latin routinely removes 80–95% of the glyphs. The per-file note shows the exact before/after glyph counts, so the result is never a guess.
Do kerning and ligatures survive subsetting?
Yes — HarfBuzz keeps the OpenType layout rules that involve the glyphs you kept and drops only the rules referencing removed glyphs. Ligatures and kerning between the letters you keep continue to work.
Why does my OTF fail with a CFF error?
The browser build of the subsetter handles TrueType-flavored fonts (TTF, and WOFF/WOFF2 wrapping TrueType outlines) but not PostScript CFF outlines. Converting OTF between formats still works — subsetting it currently does not.
Am I allowed to subset this font?
Subsetting is a modification of the font file, and licenses differ on it: many web-font licenses explicitly allow subsetting for performance, open licenses (OFL, Apache) allow it, and some commercial desktop licenses forbid modifications entirely. Check yours before shipping the result. Your file never leaves your device — nothing is uploaded anywhere.