svg2all

Subset font

Keeps only the characters you need and drops the rest – smaller web fonts, in your browser.

Runs in your browser – your file is never uploaded

Loading tool …

Frequently asked questions

Is my file uploaded?

No. The conversion runs entirely in your browser. The file never leaves your device – there is no server that could see it. Once the page has loaded, the tool even works offline.

What stays and what goes?

The outlines of every glyph you did not ask for are removed, and the character map is rebuilt so browsers fall back to another font for missing characters instead of showing nothing. Kerning, OpenType features, hinting and names are kept byte for byte; glyphs that a feature such as a ligature or an Arabic joining form substitutes in are kept as well. Only the glyph names (post table) are dropped – they are not needed for rendering.

Why is the result not as tiny as with other subsetters?

We keep every glyph id in place instead of renumbering, so all the layout tables stay untouched and correct. The price is a little bookkeeping per glyph that remains in the file – negligible for a Latin font, a few hundred kilobytes for a CJK font with tens of thousands of glyphs. The outlines, which make up most of a font, are gone either way.

Which fonts are not supported?

Colour fonts (COLR, SVG or bitmap glyphs), variable fonts with CFF2 outlines, and font collections (.ttc). TrueType variable fonts work, including their gvar data. If a file is refused, the message tells you why.

Am I allowed to subset a font?

Subsetting is a modification. Open licences such as the SIL OFL allow it; many commercial web-font licences explicitly permit subsetting for your own website, some forbid any change. Check the licence text – our font info tool shows it if it is stored in the file.