WOFF to TTF

Nothing you choose here leaves your browser, and nothing is downloaded to make it work. A WOFF is an ordinary font file with each part compressed; your browser already does that compression, and this page rearranges the rest.

…or drop them anywhere on this page.

Unwrapping a web font to use it on your machine.

This is decompression and nothing else — you get back the exact sfnt that went in. What comes out is whatever went in: a WOFF made from an OpenType CFF font unwraps to an OTF, not a TTF, and this page tells you which you have rather than renaming it and leaving you with a file that will not install.

Why there is no “OTF to TTF” here

A TTF and an OTF are the same kind of file with different drawings inside. A TTF stores its outlines as quadratic curves in a glyf table; an OTF stores them as cubic curves in a CFF  table. Going between the two means redrawing every curve in another mathematics — an approximation, with real decisions in it about how much error to accept and what happens to the hinting.

That is a job for font software, and a tool offering it as a one-click conversion is making those decisions on your behalf without saying so. This page will not pretend. What it does instead is honest and useful: it compresses and decompresses the wrapper without touching a single outline.

And no WOFF2, for a reason that was measured

WOFF2 compresses with Brotli, and a browser does not offer Brotli to a page — checked here rather than assumed, and refused in both directions. WOFF2 also rewrites the glyph tables into its own transformed form, so it needs a font library as well as a compressor. Supporting it would mean shipping both, which is exactly what these pages avoid. A WOFF2 file is refused with that explanation rather than a shrug.

The part that is not technical

A commercial font is a licensed work, and a great many font licences specifically forbid converting or modifying the file — including turning it into a web font. That is between you and whoever sold it to you; this page has no way of knowing and does not try to guess. It reads the licence text the font carries about itself and shows it to you, which is more than most tools do. Open fonts, and fonts you have a web licence for, are what this is for.

How this was checked

Four real fonts — two TrueType, two OpenType CFF, all openly licensed — were converted and converted back, with every table compared against fontTools, a separate implementation. Every table came back byte-identical except head, which differs only in its whole-file checksum; that value legitimately changes when the layout does, and it was independently recomputed and confirmed correct. fontTools opens every WOFF this page writes and re-exports it at exactly the original size.

Where to go next