Font Subsetter
Strip a font to only the characters your page actually uses.
How to font subsetter
- Load the font file.
- Paste the text your page will display, or define a Unicode range.
- Download the subset — check the before/after sizes in the result.
About this tool
Web performance advice consistently points at fonts as a significant drag on first render time, and the advice is correct. A typical web project loads three or four font weights, each covering the full Latin Extended character set — maybe 1,000 glyphs — when most pages use fewer than 200 distinct characters. Even Google Fonts applies unicode-range subsetting automatically; you are already getting a form of this with hosted fonts.
The difference is most dramatic with CJK typefaces. A Pan-CJK font covering Chinese, Japanese and Korean contains glyphs for upwards of 65,000 code points and can weigh 10 to 20 MB. A landing page written in Japanese that actually uses 400 distinct characters in a single headline can be served with a 40 KB WOFF2 subset. That is not an optimisation — it is the difference between a page that loads and one that visibly hangs.
Subsetting by pasting the actual text of your page is the most precise approach and takes thirty seconds. Unicode range mode is useful when you know the character blocks needed but not the exact glyphs — for instance, serving a font to an interface where users type in Basic Latin only.