Skip to the tool

Convert WOFF2 to OTF.

Unpack WOFF2 web fonts into desktop OTF — in your browser.

No uploads — 100% local No ads Free & open source

Drop WOFF2 fonts here

or browse your files

Files never leave your device. Everything runs in your browser, nothing touches a server — tools you've used even work offline.

Decoding a WOFF2 returns the desktop font it was made from. PostScript (CFF) outlines come out byte-for-byte — WOFF2 stores them without any transformation — so the .otf you download is exactly the font the site serves.

How it works

  1. Drop TTF, OTF, WOFF, WOFF2 or EOT files anywhere on the page — or click to browse.
  2. Pick the output format — the font tables are repackaged losslessly, never re-drawn.
  3. Convert, then download each font on its own or the whole batch as a ZIP.

When you need the desktop font back

The classic scenario: a site launched years ago, the agency is gone, and the only surviving copy of the brand typeface is the .woff2 the CDN still serves. Decoding it recovers an installable OTF for the next print job, pitch deck or rebrand audit. It is equally useful for inspection — open the result in FontForge or a feature viewer to see exactly which OpenType layout rules a web font ships with.

Why CFF comes out byte-identical

WOFF2 defines an optional transform that restructures TrueType glyph data for better compression — decoders rebuild those tables equivalently, but not always bit-identically. For PostScript (CFF) outlines no such transform exists: the table goes into Brotli as-is and comes out as-is. An OTF-flavored web font therefore decodes to the exact bytes the encoder saw, kerning and all. TrueType-flavored files come back as TTF via WOFF2 to TTF instead — same rule, other flavor.

Frequently asked questions

Why did my file come out as .ttf?

Because the WOFF2 contained TrueType outlines — .otf is by convention reserved for PostScript (CFF) outlines. Outline conversion is lossy, so the tool keeps the original outlines and names the file honestly; a note explains it whenever that happens.

Are CFF outlines really untouched?

Yes — the WOFF2 format compresses CFF tables without transforming them, so decoding returns the identical bytes. Kerning, ligatures and every other OpenType feature come along unchanged.

Am I allowed to convert this font?

The wrapper changes, the license does not — and direction matters here: a font licensed for web embedding is not automatically licensed for desktop installation or further distribution. Unwrapping a font you own, or one under the OFL or Apache licenses, is fine; for anything else read the terms before installing. Nothing is uploaded either way — the file stays on your device.

Is it private?

Yes. The font is repackaged entirely in your browser — it is never uploaded, and the server does nothing but deliver this page. For licensed fonts that matters twice over: nothing is redistributed to any third party, and no copy lingers on a server afterwards. Want proof? Run one file through, switch your connection off, and run another — it still works.