Strip unused glyphs from any font to shrink WOFF2 size by 60–95%. Choose a named subset (latin, latin-ext, cyrillic, greek) or paste a custom charset.
Upload your font and pick a subset (latin, latin-ext, cyrillic, greek) or paste a custom charset
opentype.js builds a new font with only the requested glyphs
Download the subset font — typically 60–95% smaller than the original
0 bytes uploaded. Smart Font Subsetter runs entirely in your browser using opentype.js and the File API. Your fonts never leave your device.
This tool requires the Pro plan or higher.
If your subset omits glyphs your page actually uses, those characters render as a tofu box. Run the Character Coverage Map first to confirm your charset matches your content.
opentype.js keeps glyph outlines intact, but advanced GSUB/GPOS features may be partially reduced after subsetting. For mission-critical typography, run the Kerning Pair Auditor on the subset to verify.
Latin Basic + Latin-1 Supplement (U+0020–U+00FF) covers all standard English plus common European punctuation. The 'latin' preset uses these ranges.
One-click subset to U+0020–U+00FF. Perfect for English, French, German, Spanish, Italian, and most Western European content. Smallest possible Latin font.
Open toolPaste an exact list of characters you want to keep and get a hyper-minimal font with only those glyphs. Perfect for logos, headlines, and branded marks.
Open toolCount total glyphs and project the file size after subsetting to common charsets (Latin, Latin Extended, Cyrillic, Greek, custom). Pick the right charset before you commit.
Open tool