Do you need OTF?
Often you don't. Everything that opens OTF also opens TTF, and the two carry the same kerning and features. Converting is worth it when a workflow specifically wants PostScript outlines:
- a print or prepress workflow that standardises on CFF-based fonts;
- a family where the other styles are OTF and you want them to match;
- font tools or older output devices that handle PostScript outlines better.
If you just want to know which to install, the OTF vs TTF guide answers that app by app.
What happens to the font
Curves: exact
Every quadratic TrueType curve can be written as a cubic one with no approximation. Our test showed glyph bounds within 0.12 font unit, which is coordinate rounding.
Hinting: dropped
TrueType instructions have no CFF equivalent, so the OTF is unhinted. Current systems render unhinted CFF fonts well.
Size: it depends
Our Arial test went from 1,037 KB to 884 KB. Dropping hinting saves space; flattened composites add some back, so results vary by font.
Limits, honestly
- Variable TTF fonts can't be converted to OTF yet. Pick a single weight first.
- Overlapping contours are kept as they are. Professional converters merge overlapping shapes into one outline; the library that does this isn't available in the browser. The font renders the same, but it isn't as tidy for editing.
- No subroutinization. CFF can share repeated outline pieces between glyphs to save space; this conversion doesn't, so some fonts come out larger than an OTF made in a font editor would be.
- Composite glyphs are flattened. Accented letters built from a base letter and an accent become ordinary outlines, since CFF has no equivalent.
Check your font license first. Many commercial licenses don't allow format conversion. How font licensing works
How we tested this
We converted Arial's 4,503 glyphs and compared each glyph's bounding box with the original: the largest difference was 0.12 font unit. Glyph count, character map, kerning and OpenType features all matched, and the result opened cleanly in fontTools. The conversion runs on fontTools as well, loaded into your browser (about 7.5 MB, once).