How to use the font converter & subsetter
- Add your fonts. Drop in TTF, OTF, WOFF or WOFF2 files, one weight or a whole family at once. The variable version of Geist is loaded as a sample.
- Choose the characters to keep. Tick the character sets your site needs. Latin covers English and most Western European languages. Add any extra symbols you use, or tick Keep every character to convert without subsetting.
- Pick the output. WOFF2 is the smallest and is supported by every current browser. Variable fonts can stay variable, or be fixed to a single weight to make them smaller still.
- Check and download. Type your own text into the preview to make sure everything you need is included, then download the fonts and the matching CSS.
Why subset web fonts?
Most fonts include hundreds or thousands of characters: Greek, Cyrillic, maths symbols, rare punctuation and alternate shapes that an English-language site never shows. Subsetting removes them. A typical text font drops from 100–300 KB to 15–30 KB, which makes text appear sooner, reduces layout shift as fonts swap in, and improves Largest Contentful Paint.
WOFF2, WOFF and TTF
TTF and OTF are desktop font formats. WOFF2 packs the same data with Brotli compression and font-specific tricks, typically 30% smaller than WOFF and 50–70% smaller than TTF. Every browser in use today supports WOFF2, so you rarely need anything else. Choose TTF or OTF only when a design or video app needs a desktop font.
unicode-range and multiple subsets
The CSS includes a unicode-range listing the characters in the file. If a page uses a character outside that range, the browser looks for another @font-face rule with the same family name that covers it. That lets you split a font into Latin, Cyrillic and Greek files, for example, and visitors only download the parts their language needs.
Frequently asked questions
Are my fonts uploaded?
No. Fonts are converted with HarfBuzz and Google’s WOFF2 encoder, compiled to run in your browser. Files never leave your device.
Is it legal to convert and subset a font?
It depends on the font’s licence. Open-source fonts under the SIL Open Font License allow it. Many commercial licences only allow web use of files from the foundry, or forbid modification. Check the licence before converting a font you’ve bought.
Will subsetting break kerning or ligatures?
No. HarfBuzz keeps the layout features (kerning, ligatures, alternates) for every character you keep, and any glyphs those features need.
Does it work with variable fonts?
Yes. Variable axes such as weight and width are kept by default, and the CSS uses a weight range. You can also fix a variable font to one style to make it smaller.
Should I remove hinting?
Hinting helps fonts render crisply at small sizes on older, low-resolution Windows screens. Most screens today are high-resolution, so removing it is usually safe and saves a lot of space. Keep it if your audience uses older Windows PCs.