Subset a font
Keep only the characters you list in a TTF, OTF, WOFF or WOFF2 font, so a web font shrinks from megabytes to kilobytes. Layout features for the kept characters stay.
Process locally
Files stay in this browser session. Closing or clearing releases them.
Choose files
TTF, OTF, WOFF, WOFF2, up to 10
Drop files here, or
Adjust settings
Optional: Output format, Also keep ASCII letters, digits and punctuation
Run
Processes in this browser; cancel at any time
About this tool
Keep only the characters you need from a TTF, OTF, WOFF or WOFF2 font and get a much smaller subset. When a page title or a poster uses a few dozen Chinese characters, a Chinese web font of several megabytes can shrink to tens of kilobytes before you load it with @font-face.
Layout features needed by the kept characters stay, and the output can keep the input's format or become TTF/OTF, WOFF or WOFF2. Up to 10 fonts, 40 MB each and 80 MB in total, are subset in your browser without being uploaded.
How to use it
- In the text box under “Choose files”, type or paste the characters to keep. Repeated characters and line breaks are ignored.
- Choose up to 10 font files, or drop them on the page. Use example loads a sample font and sample characters together.
- Pick an “Output format”, such as “Same as the input” or, for the web, “WOFF2 (smallest, for the web)”. Tick “Also keep ASCII letters, digits and punctuation” if you need them.
- Select Run, check your characters in the subset font in the preview, then download the result.
Formats and limits
- Input
- TTF, OTF, WOFF, WOFF2, up to 10 files; Text
- Output
- TTF, OTF, WOFF, WOFF2
- Size limit
- 40 MB per file, 80 MB in total
- Settings
- Output format (Same as the input, TTF / OTF, WOFF, WOFF2); Also keep ASCII letters, digits and punctuation
- Privacy
- Files stay in the current browser session. No file bytes are uploaded.
- Price
- Free, no sign-up
Common questions
What does “Also keep ASCII letters, digits and punctuation” add?
The space and every printable ASCII character: A–Z, a–z, 0–9 and half-width punctuation and symbols, 95 characters in all. Full-width Chinese punctuation such as “,” and “。” is not included, so type it in if you need it.
Can I paste a whole article?
Yes. Each character is kept once however often it appears, and line breaks and other control characters are ignored. If the page text changes later, any new characters will be missing until you subset again.
What happens to characters the font does not have?
Subsetting can only keep glyphs the font already has, so missing characters are not in the result. The preview shows them in another font, which makes gaps easy to spot.
What is the subset file called?
It is the original name plus -subset, with an extension that matches the output format, such as MyFont-subset.woff2. With several fonts, each one is subset to the same characters.
Are .ttc font collections supported?
No. A TTC file bundles several fonts together, and this tool works only with single TTF, OTF, WOFF and WOFF2 fonts.
Related tools
Convert font format
Convert fonts between TTF/OTF, WOFF and WOFF2 without changing any glyph. Outlines stay as they are, so a TrueType font stays TTF and a CFF font stays OTF.
Font preview and glyphs
Preview TTF, OTF, WOFF and WOFF2 fonts or installed fonts at several sizes, see their names and versions, and browse or search every glyph.
Convert video format
Convert between MP4, WebM, MKV and MOV; MP4 and MOV get H.264 video and AAC sound so any player opens them, and other formats copy streams when they can. Scale down, remove the sound or trim at the same time. Encoding uses the browser.
Extract audio from video (MP4 to MP3)
Take the sound out of MP4, MOV, MKV or WebM video and convert it to MP3, M4A, OGG, WebM or WAV, or keep the track unchanged in its own container, optionally trimmed. Files are not uploaded.
Trim audio
Cut a time range out of MP3, WAV, M4A, AAC, OGG, FLAC or WebM audio without re-encoding, so quality is unchanged.
Gzip, zlib and deflate text
Compress text with gzip, zlib, raw deflate or Brotli into Base64 or hex, or decompress it back into text. Decompressed text is limited to 10 MB.