A WOFF2 file is not a different font format — it is a TrueType or OpenType font wrapped in a web-delivery container and Brotli-compressed for small download size. To use that font on the desktop, in a font editor, or in any tool that expects a raw SFNT, you need to unwrap it back to a .ttf (or .otf). This converter does that entirely in your browser.
How it works
The tool reads the WOFF2 header, which records the original SFNT flavour (TrueType 0x00010000 or CFF OTTO), the table count, and the total decompressed size. It then reads the table directory, where each entry’s tag and lengths are stored using WOFF2’s compact null-flag encoding, followed by a single Brotli-compressed block containing every table’s data concatenated together.
The browser’s native DecompressionStream expands that Brotli block. The tool then walks the table directory, slices each table out of the decompressed buffer, rebuilds a standard 12-byte SFNT offset table plus 16-byte directory records (with correct 4-byte alignment and checksums), and concatenates everything into a valid TrueType/OpenType binary that downloads directly.
When you need this converter
WOFF2 is excellent for the web — it is the smallest font format available, typically 30% smaller than a TTF of the same font. But that compression comes at a cost: tools outside of web browsers generally cannot read WOFF2 files directly. You will need to convert to TTF when:
- Installing a font on a desktop OS. Windows and macOS both prefer TTF or OTF for system font installation. Dragging a
.woff2into the Fonts folder will fail or produce an error. - Editing a font in a font design tool. Applications like FontForge, Glyphs App, or RoboFont open TTF and OTF files, not WOFF2.
- Embedding a font in a desktop application. Some PDF generators, word processors, and design tools require a raw SFNT format.
- Converting the format further. If you need to generate a WOFF1 file (for old browser compatibility) from a WOFF2, the usual path is WOFF2 → TTF → WOFF1.
What stays intact after conversion
The conversion is lossless in every meaningful sense. The output TTF contains:
- All glyph outlines — every character, symbol, and ligature in the original font
- All kerning data — the spacing adjustments between specific pairs of characters
- All OpenType feature tables — ligatures, small caps, stylistic alternates, contextual forms
- All name records — the font family name, version string, copyright notice, and foundry information
- Any variable font axes, if the original was a variable font (variable WOFF2 becomes variable TTF)
The only structural change is the reversal of WOFF2’s optional glyf/loca transform: WOFF2 allows the glyph data to be stored in a more compressible transformed form, which this tool reconstructs back to the standard format.
TrueType vs OpenType output
The output format mirrors the input’s underlying outlines:
- If the WOFF2 contained TrueType outlines (the vast majority of fonts), the output is a standard
.ttfwith aglyftable. Save it with a.ttfextension. - If the WOFF2 contained CFF (PostScript) outlines, the SFNT signature is
OTTOand the output is technically an OpenType font. Save it with an.otfextension for maximum compatibility with design tools.
Most web fonts today use TrueType outlines, so most conversions produce a TTF.
Notes and limits
- Decompression is lossless — every glyph and layout table is preserved.
- WOFF2’s optional
glyf/locatransform is reversed so theglyftable is restored to its standard form. - This relies on the browser’s native Brotli support in
DecompressionStream. Up-to-date Chrome, Edge, and Firefox include it; the tool reports clearly if your browser does not. - Respect the font’s licence: unwrapping a web font does not grant desktop-use rights — check the foundry’s EULA before installing or redistributing.