Free online OTF converter. Convert OTF to WOFF2, WOFF, TTF, EOT and more online — no limits, no watermark.
.otf onto the page. The picker accepts one font at a time, so a family goes through one cut per pass — Regular, Italic, Bold, Bold Italic and any extra weights.@font-face rule should list firstsrc entryGoing the other way, the WOFF converter and WOFF2 converter unwrap a web font back into something a desktop font manager will accept.
OTF is the OpenType container, developed jointly by Microsoft and Adobe and now standardised as ISO/IEC 14496-22, the Open Font Format; Microsoft's own reference document is currently OpenType 1.9.1. It is a superset of Apple's TrueType, and its defining trait is flexibility about how glyphs are described. An OpenType font whose outlines are Compact Font Format (CFF /CFF2, cubic PostScript curves) declares the sfnt version tag OTTO; one whose outlines are TrueType (glyf/loca, quadratic curves) declares 0x00010000. Both are OpenType, and both can carry the same advanced typography tables — GSUB for ligatures, small caps and stylistic sets, GPOS for kerning and mark positioning, fvar/gvar for variable axes, COLR/CPAL for colour.
That flexibility makes OTF the natural format for desktop design and type distribution. What it is not is a delivery format, and that mismatch drives almost every conversion:
@font-face path. Wrapping the same tables in WOFF2 typically cuts the download by roughly two-thirds — in our testing a 203 KB icon OTF landed at 72 KB as WOFF2 and 94 KB as WOFF..ttf and nothing else, even when the underlying data would be identical.Cache-Control, which matters more since browsers partitioned their HTTP caches by top-level site.| Format | Standard / origin | Outline data | Native browser support | Installs on a desktop | Best for |
|---|---|---|---|---|---|
| OTF | Microsoft + Adobe OpenType; ISO/IEC 14496-22 | CFF /CFF2 (cubic) or glyf (quadratic) |
Works via @font-face but uncompressed |
Yes | Design, print, foundry distribution, the master file |
| TTF | Apple TrueType, shipped 1991; folded into OpenType | glyf/loca (quadratic) |
Same as OTF — desktop-oriented | Yes | OS installs, game engines, legacy toolchains |
| WOFF2 | W3C Recommendation, 1 March 2018 (revised 8 August 2024) | Wraps either, Brotli-compressed | ~96% of global traffic (Chrome 36+, Firefox 39+, Safari 12+, Edge 14+) | No | The primary @font-face web font |
| WOFF | W3C Recommendation, 13 December 2012 | Wraps either, zlib-compressed | ~97% of global traffic (adds IE 9+) | No | A fallback src entry for very old clients |
| EOT | Microsoft, 1997; W3C Member Submission 2008, never ratified | Wraps either, optional MicroType Express | Internet Explorer 6–11 only (~0.3%) | No | Legacy IE intranets and kiosks |
The converter parses your font into a model and writes a fresh OpenType file from it. That is a rebuild, not a byte-level repackage, and the distinction is worth knowing before you ship the result to production.
| Font data | Survives? | Notes |
|---|---|---|
| Glyph outlines | Yes | Vector data is never rasterised or resampled, so the letterforms are intact |
Character map (cmap) |
Yes | Every codepoint-to-glyph mapping is rewritten |
Advance widths (hmtx, hhea) |
Yes | Spacing metrics carry through |
Naming and metadata (name, OS/2, post) |
Yes | Family name, style, weight class and licence strings in the name table are preserved |
Substitution features (GSUB) |
Yes, usually | Ligatures, small caps and stylistic sets are written; a small number of lookup types are not supported by the writer |
Variable-font tables (fvar, gvar, avar, cvar, STAT) |
Yes | Axes are carried, so a variable source can stay variable |
Colour tables (COLR, CPAL, SVG ) |
Yes | Colour and SVG glyph data is written where present |
Kerning and positioning (GPOS, GDEF, kern) |
No | These are not emitted by the rebuild — pair kerning defined in GPOS is lost |
TrueType hinting (fpgm, prep, cvt , VDMX, hdmx) |
No | Hinting instructions are dropped, which mainly affects very small sizes on unantialiased displays |
Digital signature (DSIG) |
No | Any signature over the original bytes would be invalidated by a rebuild anyway |
| Output sfnt flavour | Changes | The rebuilt file is written with CFF outlines and the OTTO tag regardless of the source flavour |
If your build depends on GPOS kerning or hinted rendering surviving byte-for-byte, compress the original OTF with Google's woff2_compress or the fonttools package instead — those repackage the existing tables rather than regenerating them.
They are the same container with different glyph descriptions. TrueType stores outlines as quadratic Bézier curves in glyf/loca and tags the file 0x00010000; the typical desktop OTF stores PostScript-derived cubic curves in the CFF table and tags itself OTTO. OpenType was designed as a superset of TrueType, so an .otf can legally contain either kind — the extension is a convention, not a guarantee. For on-screen text at normal sizes you will not see a difference. It matters when a tool accepts only one flavour, and when a type designer prefers cubic curves for complex letterforms.
WOFF2. It wraps the OpenType tables your OTF already contains in Brotli plus a font-aware transform, it is a W3C Recommendation, and caniuse puts it at roughly 96% of global traffic. A modern declaration is one line — src: url("font.woff2") format("woff2") — with a WOFF line after it only if your analytics still show pre-2017 clients. There is no reason to serve a bare OTF or TTF to browsers any more.
Roughly a third of the original, in the cases we measured. A 203,588-byte OpenType icon font converted to 71,748 bytes as WOFF2 and 94,124 bytes as WOFF — about 65% and 54% smaller respectively. Text faces land in a similar band. The exact ratio depends on glyph count and outline complexity, and a font that is already subsetted compresses less dramatically because there is less redundancy left to squeeze.
Substitution features survive; kerning generally does not. Ligatures, small caps and stylistic sets live in the GSUB table, which the rebuild writes out. Pair kerning and mark attachment live in GPOS (with GDEF), and those tables are not carried into the output. For display type or anything where tight kerning is part of the design, build your web font from the original OTF with fonttools or woff2_compress, which keep every table exactly as the foundry shipped it.
The most common cause is an unusual GSUB layout table. Some large families and icon fonts use contextual chaining lookups that the browser-side writer cannot re-emit, and the conversion stops rather than silently producing a broken font — we hit exactly this on a 1.6 MB icon OTF. Corrupt or truncated downloads and font collections (.ttc/.otc, which hold several faces in one file) also fail. If a specific face refuses, convert it with fonttools locally, or try the TTF version of the same family.
You get a valid OpenType font named .ttf, but the outlines are written in the CFF table with the OTTO sfnt tag rather than as glyf TrueType outlines. Operating systems and design applications install and render it normally, because both are OpenType. A strict validator or a toolchain that inspects the sfnt tag may object — if one does, rename the file to .otf, or produce a genuinely TrueType-flavoured build with fonttools.
Almost never, but it is cheap. caniuse currently puts WOFF2 at about 96% of global traffic and WOFF 1.0 at about 97% — the gap is under a percentage point, and it consists mostly of very old browsers and in-app webviews. If your analytics show none of those, ship WOFF2 alone. If you support a public-sector or enterprise audience with long upgrade cycles, adding one WOFF line costs a single extra file per cut.
That depends entirely on the licence, and format conversion does not change it. Most commercial desktop licences cover installing and designing with the font, not serving it from a web server — webfont rights are usually sold separately and often metered by pageviews. Open-licence families are the clear exception: anything under the SIL Open Font License or Apache 2.0, which covers most of Google Fonts, can be converted and self-hosted freely. Read the foundry's EULA before converting a purchased face for the web.
No. OTF conversion runs in your browser using opentype.js and the matching wrapper libraries, so the file is read, rebuilt and written back out as a download on your own machine — no account, no queue, no watermark, and no file-size cap imposed by us. That is genuinely useful here, because fonts are licensed assets and many EULAs are specific about where the file may be sent.