Font Converter
Font conversion rewrites the same glyph outlines into a different wrapper. TTF and OTF are desktop formats; WOFF and WOFF2 are the same data compressed for delivery over the web.
Converting a font does not change its licence. That is the single most important thing to understand before putting a converted font on a website.
Most used font converters
All font conversions
9 supported conversions. Every one is a working converter, not a placeholder.
Font formats explained
TrueType Font
.ttf
The classic desktop font format.
Best for: Desktop installation · Design software
OpenType Font
.otf
OpenType with advanced typographic features.
Best for: Professional typography · Ligatures and alternates
Web Open Font Format
.woff
Compressed font wrapper built for the web.
Best for: Web fonts with legacy browser support
Web Open Font Format 2
.woff2
Brotli-compressed web font — around 30% smaller than WOFF.
Best for: Modern web fonts · Fast page loads
Which format to serve on the web
WOFF2. It uses Brotli compression, is roughly 30% smaller than WOFF, and is supported by every browser you are realistically targeting.
Serving TTF or OTF to browsers works but wastes bandwidth, because those formats are uncompressed. WOFF is only worth including as a fallback if you must support browsers from before about 2016.
Licensing, which matters more than the format
Many commercial font licences price desktop use and web embedding separately. Converting a desktop-licensed font to WOFF2 does not grant you the right to serve it on a website, and doing so is a licence violation regardless of how the file was produced.
Open-licensed fonts — SIL Open Font License, Apache, and similar — generally permit both. Check the licence file that came with the font before publishing.
Subsetting beats format conversion
A font containing every Latin, Cyrillic and Greek glyph is far larger than one containing only the characters your site actually uses. Subsetting typically saves more than switching format does.
If page weight is the concern, subset first and then convert to WOFF2.
FAQ