No need to convert to TTF first
A common piece of advice is to turn an OTF into a TTF before making a web font. It isn't necessary. WOFF2 can wrap a CFF-based OpenType font directly, and every current browser renders those fonts. Skipping the TTF step also avoids redrawing the curves and losing the font's CFF hinting, so the WOFF2 you get is the font you started with, only smaller.
How much smaller
Our 811-glyph commercial OpenType test font:
| Format | Size | vs OTF |
|---|---|---|
| OTF (original) | 133 KB | 100% |
| WOFF | 73 KB | 55% |
| WOFF2 | 58 KB | 43% |
| TTF, for comparison | 168 KB | 126% |
CFF is already a compact format, so OTF files often start smaller than the same design as TTF. WOFF2's extra glyph transform only applies to TrueType outlines, which is why a CFF font gains a little less from WOFF2 than a TTF does. It still more than halves the file here.
What is kept
- The CFF outlines and their hinting, unchanged.
- Kerning, ligatures and every other OpenType feature.
- Variable axes, for variable OpenType fonts (CFF2).
- Names, metrics and the embedding setting the license check reads.
Use it on your site with a normal @font-face rule and format("woff2"). The TTF to WOFF2 page has a copy-ready example.
When TTF-based WOFF2 is the better choice
Rarely. If a font will be read at very small sizes on older Windows machines and only the TTF version of it carries hand-made TrueType hinting, a WOFF2 made from that TTF can look crisper there. If you only have the OTF, converting it to TTF won't add that hinting, so keep the OTF.
Check that your license covers web use. Desktop licenses often don't. How font licensing works