digtools
🔤
font subsetter,

Font Subsetter

Reduce font file size by extractingonly the characters you need in your browser.

High Precision
opentype.js extraction
🔒
Fully Offline
Secure, no server uploads
Easy Setup
Versatile character presets

1. Load Font File

📁
Click or drag & drop to load a font file
Supports TTF / OTF / WOFF
about,

Tool Overview

The Font Subsetter is a developer tool that creates a new, lightweight font file by extracting only the specific characters you need from TTF, OTF, or WOFF files. It is especially effective for fonts with a large number of glyphs, such as Japanese or Chinese fonts, where it can reduce the file size by over 90%, significantly improving your website's loading speed (LCP, etc.).

This tool utilizes "opentype.js" to process everything directly within your browser. Your font files are never uploaded to any external server. You can safely process even highly confidential commercial fonts completely offline.

how to,

How to Use the Font Subsetter

STEP 1

Load Font File

Drag & drop or click to select the font file (TTF/OTF, etc.) you want to optimize into the upload area at the top of the screen.

STEP 2

Select Characters

In the "Target Characters" tab, choose presets (ASCII, Hiragana, etc.) or directly input the specific characters you intend to use.

STEP 3

Generate & Preview

Click "Generate Subset" for instant processing. Check the "Preview" tab to see the font in action, and download if it looks good.

glossary,

Related Glossary

Subsetting
The process of removing unnecessary character (glyph) data from a font file, leaving only the required characters to reduce the overall file size. Primarily used to speed up web font loading times.
Glyph
The visual representation or shape data of a character. A single font file can contain thousands to tens of thousands of glyphs, making CJK (Chinese, Japanese, Korean) fonts particularly large.
TTF (TrueType Font)
A standard outline font format developed by Apple and Microsoft. It is widely supported across various environments, from desktop publishing to web applications.
OTF (OpenType Font)
Developed jointly by Adobe and Microsoft, OTF is an extension of TTF. It supports advanced typographic features like ligatures and alternate characters, making it popular for professional typography.
WOFF / WOFF2
Web Open Font Format, a format optimized (compressed) specifically for web fonts. WOFF2 offers superior compression rates and is the recommended format for modern web font delivery.
faq,

Frequently Asked Questions (FAQ)

Q.How much smaller will the file size be?
It depends on the number of characters, but it's not uncommon for a multi-megabyte file to be reduced to hundreds of kilobytes (over 90% reduction) when extracting a few hundred characters from a CJK font.
Q.Are uploaded fonts saved on a server?
No, they are not. All processing is completed on your computer using browser JavaScript (opentype.js), so even highly confidential commercial fonts can be used safely.
Q.Can I use the subsetted font commercially?
This tool only performs the subsetting process. Whether the output font can be used commercially depends on the license of the original font. Please check the original font's terms of use.
Q.Do you support WOFF2 output?
This tool outputs in TTF format. Please use a separate dedicated tool to convert to WOFF2 or other formats.
Q.How do I prevent missing characters?
If special characters such as surrogate pairs or emojis are included, be sure to manually input them in the custom characters field.
use cases,

Use Cases

Here are common scenarios where font subsetting provides significant benefits.

🚀

Web Performance (Core Web Vitals)

Loading multi-megabyte CJK web fonts blocks rendering and severely delays text visibility (LCP and FCP).

Solution: By subsetting the font to include only the specific characters used on your site, you can compress the file to a few hundred kilobytes, enabling near-instant text rendering.

📱

Mobile Apps & Game Development

Mobile apps and games face strict download size limits and storage constraints, requiring constant asset optimization.

Solution: Bundle a subsetted font containing only the glyphs needed for your UI and static text to significantly reduce the overall application footprint.

📄

Landing Pages (LP) Typography

When you want to use heavy, stylized design fonts for catchphrases and headings on a campaign LP without sacrificing load speed.

Solution: Create an ultra-lightweight font containing only the few dozen characters used in your headings, delivering beautiful typography instantly.

✉️

HTML Emails and EPUB Embedding

HTML emails restrict external resource loading, and EPUB eBooks have strict file size limitations for embedded assets.

Solution: Base64 encode a minimal subsetted font directly into your HTML or EPUB to ensure consistent typography without violating size limits or external fetch restrictions.

technology,

Technical Implementation

Client-Side Font Manipulation with opentype.js

This tool is powered by the open-source library opentype.js. The entire process—parsing the font file, extracting the required glyphs, and generating a newly reconstructed font file—is executed entirely within your web browser's JavaScript engine.

Unlike server-side font processors, this approach eliminates the need to upload and download massive font files over the network, resulting in much faster processing times. More importantly, it ensures complete privacy and security, as your font files (including commercial licenses) never leave your device.

Send Feedback

Please let us know your thoughts to help us improve the tool.

Disclaimer

The tools provided on this site are completely free to use, but please use them at your own risk. We make no guarantees regarding the accuracy, completeness, or safety of any calculation results, conversion results, or generated data. Please be aware that the operator assumes no responsibility for any damages or troubles caused by the use of these tools. Most tools process files and calculations locally in your browser, meaning your inputted data is neither sent to nor stored on our servers.