Free online EOT converter. Convert EOT to WOFF2, WOFF, TTF, OTF and more online — no limits, no watermark.
.eot onto the page. This is almost always a file you pulled out of a legacy site's /fonts folder or an Internet Explorer-era @font-face block.src entry on conservative sitesIf the EOT came from a real @font-face stack, you probably also have the WOFF or TTF sibling next to it — those convert far more reliably, via WOFF to WOFF2 or the TTF converter.
EOT (Embedded OpenType) is Microsoft's web-font container. Microsoft's own documentation records that "Internet Explorer has supported embedded fonts since Microsoft Internet Explorer 4.0" — that is, since 1997 — and describes EOT as the company adapting Office's document font-embedding technology for the web, binding a font to a specific page or site. Microsoft filed the format with the W3C as a Member Submission on 18 March 2008, bundled with Monotype Imaging's MicroType Express compression specification. The W3C did not standardise it: the Web Fonts Working Group that formed afterwards produced WOFF instead, and EOT stayed an Internet Explorer feature for the rest of its life.
That is why virtually everyone arriving here is converting away from EOT rather than to it:
.eot entirely..eot that used to sit first in the src list. Recovering a usable outline is the whole job.fsType embedding permissions — the OpenType levels of print-and-preview, editable, installable and no-embedding — plus a PANOSE classification and optional root-string domain binding, machinery meant to stop a downloaded web font being reused elsewhere. Modern web fonts moved that enforcement into licence agreements instead.| Format | Origin | Native browser support | Compression | Installs on a desktop | Best for |
|---|---|---|---|---|---|
| EOT | Microsoft, 1997; W3C Member Submission 2008 (never ratified) | Internet Explorer 6–11 only (~0.3%) | Optional MicroType Express | No | Nothing current — legacy IE pages only |
| WOFF2 | W3C Recommendation, first published 1 March 2018 (current revision 8 August 2024) | ~96% of global traffic; Chrome 36+, Firefox 39+, Safari 12+, Edge 14+ | Brotli, plus a font-aware transform | No | The default web font for anything built today |
| WOFF | W3C Recommendation, 13 December 2012 | ~97% of global traffic; Chrome 5+, Firefox 3.6+, Safari 5.1+, IE 9+ | zlib | No | A second src entry for very old clients |
| TTF | Apple/Microsoft TrueType, shipped 1991 | Works via @font-face but is not the documented path |
None | Yes | Installing and editing on a desktop |
| OTF | Microsoft/Adobe OpenType, now ISO/IEC 14496-22 | Same as TTF — desktop-oriented | None | Yes | Design apps and font editors |
An EOT is not an sfnt file with a different extension, and that is the single most useful thing to know about it. A TTF, OTF or WOFF begins with a four-byte format tag — 0x00010000, OTTO or wOFF — that a parser reads to identify the file. An EOT begins with EOTSize, a 32-bit little-endian length, so a standard OpenType parser sees four arbitrary bytes and rejects the file before it reaches any glyph data. On top of that, the embedded font may be MicroType Express-compressed, XOR-obfuscated with the key 0x50, or both.
So when an EOT refuses to convert, do this instead:
@font-face blocks listed .eot first and then .woff, .ttf or .svg. Any of those three converts cleanly — start with the WOFF.fsType bits inside the file record what the foundry permitted. Re-deriving a desktop font from a web-only licence is a licensing question, not a technical one.| Field | What it holds |
|---|---|
EOTSize |
Total length of the structure in bytes — the first four bytes of the file, which is why sfnt parsers cannot identify it |
FontDataSize |
Length of the embedded OpenType font data |
Version |
0x00010000, 0x00020001 (adds RootString) or 0x00020002 (adds RootString checksum, EUDC and signature fields) |
Flags |
Records whether the font data is MicroType Express-compressed and/or XOR-encrypted |
MagicNumber |
Fixed 0x504C, used to detect a corrupted or mis-parsed file |
FontPANOSE, Charset, Italic, Weight |
Style classification copied out of the source font |
fsType |
The source font's embedding permission bits |
UnicodeRange1-4, CodePageRange1-2 |
Which character ranges the embedded font covers |
RootString |
Optional list of domains the font was allowed to load from (version 0x00020001 and later) |
| Font data | The OpenType tables themselves — optionally compressed, optionally XORed with key 0x50 |
For the public web, no. EOT existed to embed fonts in Internet Explorer, and the IE11 desktop application was retired on 15 June 2022. Every current browser loads WOFF2, with WOFF as the conservative fallback. The only place an EOT still earns its keep is a frozen internal application pinned to an old IE build or an IE-mode kiosk — and even there it is a maintenance liability rather than a feature. If you are refreshing a site, convert the face to WOFF2 and delete the EOT tier from your CSS.
.eot file open in a font converter?Because EOT is a container with its own header rather than a renamed OpenType font. Parsers identify a font by reading the first four bytes as a format tag; in an EOT those bytes are the EOTSize length field, so the file is rejected before any glyph data is reached. In our own round-trip checks, an EOT generated from a valid TrueType source could not be re-opened by a standard browser-side OpenType parser for exactly this reason. If the font data inside was also MicroType Express-compressed or XOR-obfuscated, a decoder has to undo that first. The practical answer is nearly always to convert the .woff or .ttf that shipped alongside it.
It depends where the font is going. For a website, WOFF2 — smallest download, supported by roughly 96% of global traffic, and the format the CSS Fonts specification expects you to list first. For installing the face on Windows, macOS or Linux, or for opening it in a font editor, pick TTF or OTF, which are the desktop containers an OS font manager will accept. There is no reason to convert to EOT unless you are maintaining a legacy Internet Explorer target specifically.
No. Windows Font Viewer, macOS Font Book and Linux font managers do not accept .eot files, because EOT was designed for web embedding rather than system installation. You would need a TTF or OTF version of the same face. Note that the fsType bits inside the EOT record the embedding permissions the foundry granted, and a web-embedding licence usually does not cover desktop installation — check the licence rather than assuming a format conversion settles it.
Font outlines are vector data, so a conversion never rasterises or resamples the glyph shapes — the letterforms themselves come through. What can change is everything around them. Our converter rebuilds the font from its parsed model rather than repackaging the original bytes, so the output carries cmap, glyf/CFF, head, hhea, hmtx, maxp, name, OS/2 and post data but does not carry GPOS kerning or GDEF tables through. For a production web build where kerning pairs and hinting must survive intact, run the original TTF or OTF through Google's woff2_compress or the fonttools package instead.
Very often, yes. Subsetting was the point. Microsoft's WEFT tool — the standard way EOT files were produced — analysed the pages on a site, collected only the characters those pages actually used, and built a compressed font object from that subset; Microsoft's own examples show objects of 2 to 17 KB containing between 2 and 52 unique characters. If your source EOT was built that way, anything you convert it into inherits exactly that reduced glyph set, so accented characters, Cyrillic, Greek or even a missing punctuation mark will simply not be there. Recovering the full character set requires the original unsubsetted TTF or OTF from the foundry.
MicroType Express (MTX) is Monotype Imaging's font compression algorithm, submitted to the W3C alongside EOT in March 2008. It compresses OpenType tables in a font-aware way, which was EOT's answer to the download-size problem that WOFF later solved with zlib and WOFF2 solved with Brotli. It matters to you only in one respect: an EOT whose Flags field marks the payload as MTX-compressed needs an MTX decoder before the font tables can be read at all, which is a large part of why EOT tooling is so thin today.
@font-face rule?Only if you can point at real Internet Explorer traffic in your analytics. The classic "bulletproof" src chain that led with url('font.eot?#iefix') format('embedded-opentype') is now dead weight: it adds a file to your build, an extra entry every browser has to skip, and a format no shipping browser can use. A current declaration is one WOFF2 line, optionally followed by a WOFF line. Pair it with font-display: swap and preload the one or two cuts that render above the fold.
No. This converter runs in your browser using opentype.js and the matching wrapper libraries — the font is read, rebuilt and written back out as a download on your own machine, with no account and no watermark. That matters here more than on most tools, because fonts are licensed assets and an EOT in particular carries embedding permissions that a foundry may enforce.