Turn your WOFF web font into an EOT file for legacy font support—fast, simple, and right in your browser.
.woff files from your device. Batch conversion is supported, so you can repackage an entire font family — Regular, Bold, Italic, Bold-Italic — in a single pass. Parsing happens locally using a lazy-loaded opentype.js bundle; nothing is uploaded..eot (Embedded OpenType) — there are no codec, subset, or hinting toggles on this page because EOT inherits the source font's outlines and metrics directly. If you also need to subset the font to a single language or strip unused glyphs before converting, do that step first with a separate subsetting tool (pyftsubset from FontTools is the common open-source option).application/vnd.ms-fontobject MIME type. Each output file keeps the source font's family name, weight, and style metadata — you do not need to rename it before downloading..eot file individually or grab them as a ZIP. Processing runs entirely in the browser session — no sign-up, no watermark, no file uploaded to any server.EOT (Embedded OpenType) is a Microsoft container format submitted to the W3C in 2008 but never adopted as a standard — W3C chose WOFF instead. Internet Explorer was the only browser that ever shipped EOT support, and Microsoft retired IE11 on June 15, 2022, after which active EOT usage on the open web dropped to effectively 0%. Despite that, there are still narrow cases where producing an .eot build of a font is the right move:
@font-face rule for the IE compatibility branch to load the font.@font-face block — The Fontspring bulletproof syntax (still cited in many older CMS themes and WordPress font plugins) lists EOT first to feed IE6–IE8 and IE9 compatibility mode. If you are restoring or migrating a pre-2018 theme that already shipped four-format @font-face blocks, you need the EOT to match what the CSS expects.If you are not in one of these cases — for example, you are building a public-facing site in 2026 — you almost certainly want WOFF2 as the primary delivery format and WOFF as a fallback. EOT is genuinely obsolete on the open web, and modern bulletproof @font-face recipes have dropped it. The honest framing for this page is: produce an EOT only when a legacy renderer or build artefact requires it.
| Property | WOFF | EOT |
|---|---|---|
| Full name | Web Open Font Format | Embedded OpenType |
| Developed by | Mozilla, Opera, Microsoft (joint) | Microsoft, 1997 |
| Standardisation | W3C Recommendation (2012), updated WOFF 2.0 in 2018 | Submitted to W3C in 2008, never adopted as a standard |
| MIME type | font/woff |
application/vnd.ms-fontobject |
| File extension | .woff |
.eot |
| Compression | zlib (DEFLATE), per-table | MicroType Express (Agfa LZ-based) |
| Container payload | SFNT tables wrapped with metadata block | SFNT tables wrapped with EOT header and metadata |
| Outline support | TrueType (glyf) and CFF (PostScript) | TrueType and CFF |
| DRM / binding | None — metadata only | Root-string URL binding (historical anti-piracy mechanism) |
| Browser support today | Chrome, Edge, Firefox, Safari, Opera (99%+) — caniuse | Internet Explorer 6–11 only; 0% modern support after June 2022 |
| Typical size for Roboto Regular Latin | ~90 KB | ~80 KB |
| Recommended use in 2026 | Fallback after WOFF2 | Only for IE Mode / LTSC / archival rebuilds |
@font-face — Bulletproof Syntax CheatThe classic four-format declaration that still appears in legacy themes:
| Branch | src line |
Targets |
|---|---|---|
1st src (IE9 compat) |
url('font.eot') |
IE9 in compatibility mode (parser bug workaround) |
2nd src first entry |
url('font.eot?#iefix') format('embedded-opentype') |
IE6–IE8 — the ?#iefix query trick stops IE from trying to load the entire fallback list |
2nd src next entries |
url('font.woff2') format('woff2'), url('font.woff') format('woff'), url('font.ttf') format('truetype'), url('font.svg#fontname') format('svg') |
Modern browsers (WOFF2), older modern browsers (WOFF), Android 4.3 and earlier (TTF), legacy iOS Safari (SVG) |
In a 2026-only stack you can drop everything except woff2 (and optionally woff if you target Safari ≤ 10.x). The EOT lines remain in legacy codebases because removing them without checking IE Mode coverage was historically risky.
@font-face block in 2026?Almost certainly not for a public website. Internet Explorer 11 retired on June 15, 2022, and no browser shipping today reads EOT. Strip EOT (and SVG) from your @font-face rule, keep WOFF2 as the primary entry, and add WOFF only if you still need to support Safari versions older than 11. The one exception is enterprise intranets that explicitly target Edge's Internet Explorer mode — that branch still resolves EOT and is supported through at least 2029.
Yes — EOT is essentially an SFNT container with a Microsoft header glued on, so all of the underlying TrueType or CFF tables (glyf, hmtx, kern, GSUB, GPOS, cmap, etc.) carry through untouched. If hinting was present in the source WOFF, it remains present in the EOT, and ligatures and stylistic sets keep working in renderers that read OpenType layout tables.
Because both formats wrap the same underlying SFNT font tables and apply similar compression. WOFF uses per-table zlib (DEFLATE); EOT uses Agfa's MicroType Express, which is also LZ-based. Typical size reductions vs the raw TTF/OTF are around 40–50% for both formats. WOFF2 with Brotli compression is the only mainstream format that dramatically beats both — typically 60–70% smaller than the raw TTF.
No. The output is an uncompressed-but-valid EOT: it wraps the source SFNT in an EOT header with the correct application/vnd.ms-fontobject MIME signature, but does not apply MicroType Express and does not bind the file to a list of allowed URLs (the historical "root string" anti-piracy feature). Every IE version that supports EOT also accepts uncompressed and unbound EOTs.
.eot in FontForge or macOS Font Book?EOT is not registered as an installable system font format on macOS or modern Linux desktops — Font Book and the system font picker only accept TTF, OTF, TTC, and dfont. FontForge can import EOT but treats it as a webfont container; for editing, convert the EOT back to TTF first. The EOT format is intentionally a delivery container for IE, not an OS-installable font.
If the intranet truly only ever needs to support IE9, EOT works and was historically the most predictable choice. However, IE9 also supports WOFF 1.0 (added in IE9, March 2011), so a single WOFF file usually suffices and saves you a build artefact. The reason EOT was historically listed first is the IE9 compatibility-mode parser bug, not a hard requirement that IE9 read EOT.
Yes. Drop in every weight and style of the family (Regular, Italic, Bold, Bold-Italic, plus any extra weights like Light, Medium, Black) and the converter processes them in one session. The output ZIP keeps the original filenames with the .eot extension swapped in, so your existing @font-face declarations only need a URL extension change, not a filename rewrite.
No. WOFF parsing and EOT writing happen locally in your browser using a lazy-loaded JavaScript bundle. The fonts never leave your machine, which matters for commercial licences that prohibit re-uploading to a third-party converter or font foundry agreements that restrict where the binary may be stored.
EOT prepends a Microsoft-specific header that includes the font name in UTF-16, a version, a root-string URL list (often empty), and flags indicating whether MTX compression is applied. The actual glyph data after that header is byte-identical to what you'd find in a regular TTF or OTF. Strip the EOT header and you recover the underlying SFNT font. That's also why round-tripping EOT → TTF → EOT typically produces a near-identical file aside from header byte differences.