---
title: "WOFF2 to OTF Converter — Free, Private, Local | Compress Pro"
description: "Convert WOFF2 web fonts to desktop OTF in your browser — the CFF font data comes out byte-for-byte intact. Nothing uploaded. Free, private, no sign-up."
canonical: https://compress-pro.com/woff2-to-otf
---

# Convert WOFF2 to OTF.

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

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.

**No uploads · No ads · Free & open source.**

## 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](https://compress-pro.com/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.

## Related tools

- [Convert WOFF2 to TTF](https://compress-pro.com/woff2-to-ttf)
- [Convert fonts](https://compress-pro.com/font-converter)
- [Convert OTF to WOFF2](https://compress-pro.com/otf-to-woff2)

---

Part of [Compress Pro](https://compress-pro.com/) — every tool page has a markdown twin at `<page url>.md`. Full tool index: [llms.txt](https://compress-pro.com/llms.txt)
