OTF to WOFF2 Converter

Compress an OpenType font into a WOFF2 you can serve via @font-face. 100% private — runs entirely on your device.

Drop your OTF file here

Converts to .woff2 — stays on your device

Why convert OTF to WOFF2?

How our converter works

Your OTF is compressed in-browser using Google's official wawoff2 WebAssembly library — the same encoder Google Fonts uses. The CFF glyph table, OpenType features (GSUB/GPOS), and any variable-font axes all survive the compression intact. Output is typically ~30% smaller than the source OTF.

OTF vs WOFF2 — what's the difference?

Feature OTF WOFF2
Size Uncompressed baseline ~30% smaller
Use Desktop, design tools, OS install Web browsers via @font-face
Installable Yes — double-click to install No — browser-only
Outline format CFF cubic Bézier curves Compressed CFF
Browser support Patchy via @font-face 97%+ globally (2026)

Frequently asked questions

Why not just serve the OTF directly on my website?

You can — browsers accept OTF via @font-face — but the file is ~50% larger than the WOFF2 equivalent and many browsers will try to subset it in inconvenient ways. WOFF2 is purpose-built for web delivery: smaller payload, consistent handling, and clear signaling to the browser that this is a web font.

Do OpenType features like ligatures and stylistic sets survive the conversion?

Yes. WOFF2 compresses the full SFNT container — GSUB, GPOS, kern, and all feature tables survive byte-for-byte. Activate them in CSS with font-feature-settings or font-variant-ligatures as usual.

Does this work with variable fonts?

Yes. Variable-axis tables (fvar, gvar, HVAR, MVAR) are part of the SFNT container and compress normally. Use font-variation-settings in CSS to expose axes like 'wght' or 'wdth' on the web.

How do I use the WOFF2 in CSS?

@font-face { font-family: 'Brand'; src: url('brand.woff2') format('woff2'); font-display: swap; } — then apply font-family: 'Brand' where you want it. font-display: swap avoids invisible text on slow connections.

Is converting a commercial OTF to WOFF2 legal?

Only if your license includes web use. Retail commercial fonts from Monotype, Linotype, Hoefler, and most foundries require a separate web license on top of the desktop license. Open licenses (OFL, Apache) permit any use.

Should I subset the font first for best compression?

If the font supports more scripts than you need, yes. A full Latin+Cyrillic+Greek OTF is often 2–4× larger than a Latin-only subset. Tools like fonttools pyftsubset or glyphhanger strip unused glyphs; run them before this converter for compounding size savings.

About the OTF format

OTF (OpenType) is the professional typography workhorse: a cross-platform font container built jointly by Microsoft and Adobe in the late 1990s. Its CFF glyph format uses cubic Bézier curves (vs TrueType's quadratic), producing slightly smoother shapes at small sizes, and its feature table specification underpins modern typographic niceties like contextual ligatures, stylistic sets, and variable-font axes. Shipping an OTF to the web typically means wrapping it as WOFF2 — a lossless ~30% compression that browsers have supported universally since 2018.