Encoding tools

Font Format Converter

Convert fonts between TTF, OTF, WOFF, WOFF2 and EOT in your browser. Container changes keep glyphs and metrics; TTF ↔ OTF rebuilds outlines and may drop hinting.

Runs locally in your browser

TTF / OTF are outline formats (TrueType glyf / OpenType CFF); WOFF / WOFF2 / EOT are containers. Container conversions keep glyphs and metrics; TTF ↔ OTF rebuilds outlines, so hinting and some layout tables may be lost.

01

Choose a source font

02

Choose a target format

Choose a source font first

The first conversion downloads only the codec it needs (about 0.7–1.5 MB) and the browser caches it.

03

Result

Your converted font appears here

Choose a source font and a target format, then convert

How it converts

  • TTF / OTF ↔ WOFF / WOFF2: wrap or unwrap the sfnt; glyphs and metrics are kept. WOFF2 is re-encoded to spec, so bytes are not guaranteed identical and a few tables (such as DSIG) may be dropped.
  • EOT: an IE wrapper around TrueType. OTF → EOT first converts CFF outlines to TrueType.
  • TTF ↔ OTF: a real outline conversion (glyf ↔ CFF); hinting, kerning and some OpenType layout tables may be lost.
  • OTF output limit: When glyf outlines have to be rebuilt as CFF, OTF output is disabled above 4000 glyphs or 4 MB (after unpacking) to avoid exhausting browser memory. A CFF source is only re-wrapped and is not subject to the limit. Subset first if you need a large CJK font as OTF.

Engine: fonteditor-core (MIT), opentype.js (MIT), Google woff2 (Apache-2.0). Everything happens in browser memory; the font is never uploaded. Sample font: FontAwesome 4 (SIL OFL 1.1 / MIT).

Comments

Loading comments…