Font Subsetter — Remove Unused Glyphs
Subset TTF, OTF, WOFF and WOFF2 fonts to only the characters you need with HarfBuzz hb-subset. Export WOFF2, WOFF or TTF, see size savings and preview — all in your browser.
🔒 Runs entirely in your browser — nothing is uploadedMake web fonts load faster by removing unused glyphs
Most fonts ship with far more characters than a website needs: accented letters for dozens of languages, Greek and Cyrillic alphabets, math symbols, arrows and alternates. Every one of those glyphs adds bytes that visitors download before your text can appear in the right typeface. Subsetting creates a copy of the font that contains only the characters you choose, which can cut the file size by 80–95% and noticeably improve page load times and Core Web Vitals.
This subsetter uses hb-subset, the same HarfBuzz engine that Google Fonts relies on, compiled to WebAssembly and running in your browser. It keeps the OpenType layout tables that apply to the retained characters, so kerning, ligatures and contextual forms still work. The result can be saved as WOFF2 for the web, as WOFF, or as a plain TTF or OTF with the same outline type as your source file.
Choosing which characters to keep
For a logo, headline or icon font, type the exact text and nothing else. For body text, start with the Basic Latin preset and add Latin-1 or Latin Extended-A if your content includes accented names or European languages. Use the unicode-range field for precise control: enter values such as U+0000-00FF or U+2000-206F, and wildcards like U+4?? are accepted too. The counter shows how many code points are selected, and the preview lets you type freely — any character that falls back to a system font was removed from the subset.
The generated @font-face rule includes a unicode-range descriptor. Browsers use it to download the font only when a page actually contains those characters, which makes it easy to split one family into several small files, for example one for Latin and one for Cyrillic. Remember that subsetting modifies the font, so confirm that your license allows it before publishing the result.
How to use
- Load a fontDrop a TTF, OTF, WOFF or WOFF2 file onto the box or click to browse. Its glyph count and outline type are shown.
- Choose the charactersType the text you need, tick character sets such as Basic Latin or Cyrillic, and optionally add a CSS unicode-range.
- Create the subsetPick WOFF2, WOFF or TTF/OTF output and press Create subset. HarfBuzz removes every glyph you did not select.
- Check and downloadCompare the size and glyph count, test the preview rendered with the new font, then download it and copy the CSS.