Font Subsetter
Select character ranges to subset your font and generate optimized @font-face CSS.
What is font subsetting?
Font subsetting reduces file size by including only the characters you need. The CSS unicode-range property tells the browser to only download the font file when characters in the specified range appear on the page.
About this tool
- 1
Upload a font
Select the font file you want to subset for optimized loading.
- 2
Define character ranges
Choose which Unicode ranges to include - Latin, Cyrillic, Greek, symbols, etc.
- 3
Generate CSS
The tool outputs unicode-range declarations for each subset of the font.
- 4
Copy the code
Use the generated @font-face rules with unicode-range in your stylesheet.
- Subset to Latin characters only if your site is English-only - this can reduce font size by 70% or more.
- Use unicode-range so the browser only downloads the subsets it actually needs for the page content.
- Always include basic punctuation and number ranges even in minimal subsets.
- Test your subsets with real page content to ensure no characters are missing.
- Generate CSS unicode-range declarations for font subsetting
- Predefined ranges for Latin, Latin Extended, Cyrillic, Greek, CJK, and more
- Custom Unicode range input for precise character selection
- File size estimate showing savings per subset
- Optimize web font loading by splitting a large font into language-specific subsets
- Reduce initial page load time by loading only the Latin subset upfront
- Create targeted font subsets for multilingual websites that serve different character sets
- Generate Google Fonts-style unicode-range CSS for self-hosted fonts