Everything you need to know about converting fonts for the web
Desktop font formats like TTF (TrueType) and OTF (OpenType) were built for operating systems and design software, not browsers. They're larger than they need to be for delivery over a network, and modern browsers expect formats that are purpose-built for the web: WOFF and WOFF2.
WOFF vs. WOFF2 — what's the difference?
WOFF (Web Open Font Format) wraps your font's original outline data with per-table zlib compression and a lightweight header, typically shaving off a modest amount of size while staying compatible with essentially every browser released in the last decade.
WOFF2 goes further: instead of compressing each table on its own, it compresses the whole font as a single Brotli stream, which regularly produces files 20–30% smaller than WOFF. Every modern browser supports WOFF2, so it should be your first choice — with WOFF as a compatibility fallback in your @font-face rule.
Why smaller font files matter
Fonts block text rendering until they load. A heavier font file means a longer flash of invisible or fallback text, which drags down Core Web Vitals metrics like Largest Contentful Paint. Converting to WOFF2 is one of the cheapest performance wins available for any type-heavy site.
How this converter works
When you drop a font into the tool above, Foonts reads the font's table directory directly in your browser using the File and Web Compression APIs, rebuilds the WOFF and WOFF2 container formats around your original glyph data, and hands you a download — the font file itself never leaves your device.
Adding your converted font to a site
Once you've downloaded your files, reference them with a standard @font-face block, listing WOFF2 first so capable browsers use the smaller file:
@font-face {
font-family: "YourFont";
src: url("yourfont.woff2") format("woff2"),
url("yourfont.woff") format("woff");
font-display: swap;
}
Licensing reminder
Converting a font's file format doesn't change its license. Only convert and publish fonts you own or that are licensed for web embedding.
Frequently asked questions
Is my font file uploaded anywhere?
No. Every conversion happens locally using your browser's built-in compression engine. Your font data is never sent to a server.
Will the converted font look identical to the original?
Yes — the conversion repackages your font's existing glyph and metric tables losslessly; no outlines are re-rendered or altered.
Does this work with variable fonts?
Variable TTF/OTF files convert the same way — all variation axes and instances are preserved in the table data.
Why is WOFF2 conversion sometimes unavailable?
WOFF2 needs Brotli compression. Foonts uses your browser's native support when it's available, and otherwise quietly loads a small WebAssembly Brotli encoder — so it works almost everywhere. The one case it can't cover is converting with no internet connection at all, since that fallback module has to be fetched once. WOFF conversion never needs this and always works fully offline.