OTF to TTF Converter
Convert OpenType (.otf) fonts to TrueType (.ttf) format.
OTF to TTF Converter converts font files between TTF, OTF, WOFF, WOFF2, and Base64 CSS definitions locally in your web browser. Font data processing runs entirely on your device without transmitting files over the network.
Runs in your browser- Privacy
- Runs entirely in your browser — nothing is uploaded
- Cost
- Free, unlimited, no sign-up
OTF and TTF are both OpenType
An .otf file and a .ttf file are, in almost every case, the same kind of file. Both use the sfnt container the OpenType specification describes: a header, a table directory, and a set of tables identified by four-character tags such as cmap, head, name and GSUB. What differs is the table holding the glyph outlines. A font with TrueType outlines keeps them in glyf and loca and opens with the version tag 0x00010000. A font with PostScript outlines keeps them in a CFF or CFF2 table and opens with the tag OTTO. Convention names the first .ttf and the second .otf, which is why converting OpenType to TrueType is a real operation and not a rename.
The rasteriser decides what a file is by reading that version tag, not by reading the extension. A CFF font renamed to .ttf still works on Windows, macOS and Linux, and it is still a CFF font. If a tool rejected your file for being the wrong type, renaming it will not fix anything.
What actually changes in the conversion
TrueType outlines are quadratic Bézier curves with one off-curve control point per segment. PostScript outlines are cubic, with two. A cubic curve can be approximated by a chain of quadratic segments to any tolerance you pick, but it cannot generally be reproduced exactly, so a real OTF to TTF conversion redraws every curve in the font. At text sizes the difference is invisible. At poster sizes, or when the outlines feed a cutting plotter, an engraver or a 3D extrusion, the approximation error is something you can measure.
What survives and what does not
- Glyph shapes survive as an approximation. Good converters fit quadratics within a tolerance you cannot see; crude ones produce visible kinks at high contrast joins and on tight curves.
- Character mapping survives. The
cmaptable is independent of the outline format and is copied across. - Layout features survive if the converter copies
GSUB,GPOSandGDEFacross. Ligatures, kerning pairs, small caps, stylistic sets and old-style figures all live in those tables. A converter that rebuilds a font from outlines alone silently drops every one of them. - Hinting does not survive. TrueType hinting is bytecode held in
fpgm,prep,cvtand in per-glyph instructions; CFF hinting is declared inside the charstrings and interpreted by the rasteriser. Neither translates into the other, so a converted font arrives unhinted and depends on whatever autohinting the renderer applies. - Variable axes do not survive a conversion that flattens to a single instance. A variable font stores its design space in
fvarplusgvarfor TrueType outlines orCFF2for PostScript ones. Export one weight and the other weights are gone, not compressed. - Vertical metrics can shift.
hhea,OS/2andheadeach carry ascender, descender and line-gap values, and a rebuilt font that recalculates them instead of copying them will change line spacing in existing layouts.
| Format | Outline data | Compression | Where it belongs |
|---|---|---|---|
.ttf TrueType | Quadratic curves in the glyf and loca tables | None | Desktop installation, Android build pipelines, tools that only read glyf |
.otf OpenType with PostScript outlines | Cubic curves in a CFF or CFF2 table | None | Desktop installation, print and design applications |
.woff WOFF 1.0 | Whichever of the two the wrapped font already used | zlib, applied to each table separately | A fallback source for browsers too old for WOFF2 |
.woff2 WOFF 2.0 | Whichever of the two the wrapped font already used | Brotli over the whole font, after a reversible transform of glyf, loca and hmtx | The format to actually serve on the web |
.eot Embedded OpenType | Either, wrapped in a Microsoft-specific container | Optional MicroType Express | Internet Explorer 8 and earlier. A W3C Member Submission that never became a standard |
.ttc / .otc collection | Either, with tables shared between several faces | None on its own, though WOFF2 can wrap a collection | Shipping a whole family in one file, common for CJK fonts |
Do you actually need TTF?
Often not. Windows and macOS have installed both flavours for two decades, so "my system will not take an OTF" is almost never the real problem. For the web, neither raw format is the right answer: serve WOFF2 and keep the desktop file as the source. The conversions that genuinely need glyf outlines are narrower than the search volume suggests.
- Android resource pipelines and some game engines that only parse
glyf. - Embedded and industrial renderers, label printers and older firmware font loaders.
- Editors and plugins that read TrueType outlines only, including a number of vector and CNC toolchains.
- Hinting work, since TrueType bytecode hinting has no CFF equivalent to edit.
Related font conversions
- TTF to WOFF2 for the file you should be serving to browsers.
- TTF to WOFF for the older fallback source.
- WOFF to TTF and WOFF2 to TTF for going the other way.
- Font to Base64 to inline a small face directly into CSS.
- Font availability checker to see which faces a visitor already has locally.
- Format hubs: TTF, OTF, WOFF and WOFF2.
Frequently asked questions
Is my font file uploaded anywhere?
What is the difference between OTF and TTF?
Is converting a font lossless?
Am I allowed to convert a commercial font?
Can I convert an EOT or TTC file here?
How to use the otf to ttf converter
- 1Select your font file — the file stays on your device and is never uploaded.
- 2Press Run, then download the result when it is ready.
Sources & specifications
Embed this tool
Put the working otf to ttf converter on your own site. It runs in your visitors' browsers exactly as it does here — free, no account, nothing uploaded.
Share this tool
Related tools
Last updated
More developer tools