Skip to main content
Toolzum

Bulk Font Subsetter

Convert TTF/OTF to WOFF2 subset to only your used characters and cut 50–200 KB fonts to 2–15 KB. Performance engineers fix the render-blocking font in one batch — local opentype.js, 2 free batches a day.

Runs on opentype.jsJSZip

100% Local Browser Native

How to Use the Bulk Font Subsetter

1. Upload fonts

Drop TTF/OTF files — a whole family at once works. Licensed fonts stay local in your browser.

2. Enter characters

Paste the exact characters your site uses. Only these survive in the subset.

3. Download WOFF2

Subset files export ready for @font-face. One batch save counts as one Pro download.

Similar Tools You Might Need

See all

Frequently Asked Questions

How much faster does subsetting make pages?

A full 150 KB font subset to Latin-only lands near 12 KB — 90%+ smaller, often shaving 300–600 ms off first render. Subset every display font on landing pages; body fonts gain most on mobile networks.

Which characters should I keep?

Latin + punctuation for English sites; add Cyrillic, Devanagari, or Tamil blocks only for those audiences. Paste your site's actual alphabet once — one site's headings plus body copy define the exact set.

WOFF2, WOFF, or TTF output?

WOFF2 for all modern browsers (30% smaller than WOFF); add WOFF fallback only if you support decade-old browsers. Subset the full family (regular, medium, bold) in one batch with the same character set.

Are my font files uploaded?

No — conversion runs locally in your browser with opentype.js; licensed fonts never leave your device. Only the final ZIP counts as one Pro download — check your font license allows web subsetting first.

Can I subset a whole family at once?

Yes — upload all weights and enter the character set once; every file subsets identically. A 6-weight family drops from ~900 KB to ~70 KB total in a single run.

Last updated October 2026