What does this tool do?
Use the Font Converter to change a font between TTF, OTF, WOFF, and WOFF2 container or compression formats. It keeps the glyphs and retained OpenType tables; it does not subset, redraw, or re-outline them. The DSIG table is always removed, and applicable WOFF container extensions are not carried over. Metadata and embedding permissions are read-only. The file is read with FileReader and processed in browser code; WOFF2 conversion also loads a codec from jsDelivr.
Conversion versus subsetting
Conversion changes the file format while keeping its glyph set. The Font Subsetter keeps the format but removes glyphs you do not need. Use the converter for a required output format; use the subsetter when reducing character coverage is the goal.
Supported formats and available conversions
- TTF uses TrueType (
glyf) outlines. - OTF uses CFF (PostScript) outlines.
- WOFF stores sfnt tables with zlib compression.
- WOFF2 stores them with Brotli compression.
The target buttons depend on the source format. TTF and OTF can be wrapped as WOFF or WOFF2. WOFF and WOFF2 can be unwrapped to their native format or re-wrapped in the other webfont format. Direct TTF-to-OTF conversion is not offered because it would require changing the outline technology.
Source inspection: metadata and licensing
After a file loads, review Source font and Metadata (read-only). The interface can display Font Family, Font Subfamily, Full Name, Version, Copyright, Trademark, Manufacturer, Designer, License Description, and License Info URL when those values are available. It also shows outline format, glyph count, units per em, the OpenType tables present, and OS/2 embedding permissions. Conversion does not edit these values or permission bits.
Table preservation and validation
Retained tables, including outline, character-map, metrics, naming, layout, hinting, and color tables when present, are copied through the conversion. The DSIG table is always dropped because repackaging invalidates its signature. For parsed WOFF input, optional metadata and private-data blocks are detected and reported when they are not carried over. The WOFF2 path does not expose equivalent container-extension reporting.
Validation re-parses the output and checks the tables retained after that drop policy. It does not validate the dropped DSIG table or optional metadata/private-data blocks. Review the pass/fail result and the dropped-tables report before downloading.
WOFF2 and browser requirements
When WOFF2 is the source or target, the interface may show Loading WOFF2 codec... while it loads the Brotli codec from jsDelivr. A blocked or unavailable codec produces a loading error. TTF, OTF, and WOFF paths do not require that WOFF2 codec, but WOFF processing depends on the browser's CompressionStream and DecompressionStream APIs; this implementation has no fallback if those APIs are unavailable.
How to convert a font
- Drop a supported font into the drop zone, or click browse files.
- Review Source font, Metadata (read-only), and the embedding-permission message.
- Choose a target under Convert to.
- Choose a target; conversion starts automatically when it is ready.
- Review the dropped-tables report and validation result.
- Click Download converted font or Download report.
Unsupported files and conversion errors
TrueType Collection (.ttc) files are not supported. Unrecognized or malformed files are rejected, and a file-read problem can show Couldn't read the file from disk. Font parsing problems show Couldn't read this font:; conversion problems show Conversion failed:. These failures do not produce a valid output file.
Frequently asked questions
How is this different from the Font Subsetter?
The Font Converter changes the container or compression format while keeping the glyphs. The Font Subsetter keeps the format but removes glyphs you do not need.
Will this change my font's license?
No. The displayed name-table metadata and OS/2 embedding permission bits are read-only and are not edited by conversion. Check the permissions before redistributing the converted file.
Why can't I convert TTF directly to OTF?
TTF and OTF use different outline formats: TrueType glyf and CFF. Converting between them would require re-outlining the glyphs, which this tool does not do.
Is every format pair truly lossless?
The offered container changes preserve the glyphs and retained tables. The DSIG table is always dropped; parsed WOFF metadata and private-data blocks are also not carried over. Validation covers the retained tables only.
Are .ttc files supported?
No. TrueType Collection (.ttc) files are rejected, along with unrecognized or malformed font files.
Why can WOFF2 conversion fail?
WOFF2 conversion loads a Brotli codec from jsDelivr. If the codec cannot load, conversion stops. WOFF conversion can also fail when the browser does not provide CompressionStream and DecompressionStream.