Font Converter
Convert between TTF, OTF, WOFF, and WOFF2 — compress a desktop font for the web, or decompress a web font back to a usable file. Runs entirely in your browser; fonts up to 10 MB are never uploaded to a server.
Click to upload or drag and drop
TTF, OTF, WOFF, or WOFF2
What this does and doesn't convert
This tool converts between font containers — TTF and OTF are essentially the same underlying structure, and WOFF/WOFF2 are compressed wrappers around that same structure for efficient web delivery. It does not convert between TrueType and PostScript/CFF glyph outlines, which are two different ways of describing letterforms — the "decompressed" output keeps whichever outline type your source file already used, and is saved with the matching .ttf or .otf extension automatically rather than letting you pick one that wouldn't reflect what's actually inside the file.
Why convert to WOFF2
WOFF2 uses Brotli compression with font-specific preprocessing, typically producing a file 30–50%+ smaller than the original TTF or OTF with zero loss of quality — the letterforms decompress back byte-for-byte identical. With around 97% browser support, it's the right choice for serving a font on a website via @font-face.
Frequently asked questions
Does this convert TrueType outlines to PostScript (CFF), or vice versa?
No — TTF/OTF and WOFF/WOFF2 are containers and compression wrappers around the same underlying glyph data. This tool converts between those containers, but doesn't redraw the letterforms between TrueType and PostScript/CFF outline formats. The decompressed output is automatically saved with the correct .ttf or .otf extension for whichever outline format your source font already uses.
Is WOFF2 conversion lossless?
Yes — WOFF2 compression is fully reversible. Decompressing a WOFF2 file back to TTF/OTF restores the exact original font data, byte-for-byte.
Can this produce a plain WOFF (not WOFF2) file?
Not currently — WOFF2 is supported for compression since it has around 97% browser support and is smaller than WOFF for the same font. WOFF, TTF, and OTF are all supported as input.