A font converter that really converts — TTF, OTF, WOFF, WOFF2, TTC and EOT
This font converter turns the font files you already have into the format a project needs: TTF to WOFF2 for a website, OTF to TTF for an app or device that only accepts TrueType, WOFF or WOFF2 back to TTF when a web font is the only copy you have, or TTF to OTF and legacy EOT, and it opens TrueType collections (TTC) as separate faces.
The difference from most online converters is what happens to the outlines. Changing a .otf file into .ttf by renaming it does not make it a TrueType font: software that insists on TrueType still sees PostScript (CFF) curves inside. This tool rewrites the glyph outlines — cubic CFF curves become quadratic TrueType curves within about half a font unit, and TrueType curves become exact CFF cubics — and rebuilds the glyf, loca, maxp, head and CFF tables with correct checksums. Everything else (character map, names, kerning and OpenType layout, metrics, licence text) is carried over unchanged.
Conversion runs in your browser with WebAssembly builds of Google’s woff2 encoder and HarfBuzz; files never leave your device. To shrink a web font to the characters a page uses, continue with the font subsetter; to pull fonts out of a PDF first, use the PDF font extractor.
How to use the Font Converter
- Drop one or more font files on the box, click it to choose files, or press Try a sample font. Each face in a TTC becomes its own row.
- Pick the target under Convert to. WOFF2 is selected by default; rows convert immediately and again whenever you change a setting.
- For OTF output, decide whether to convert TrueType outlines to CFF (a true OpenType-CFF font, hints dropped) or keep the TrueType outlines inside the .otf container (valid OpenType, keeps hinting and variable axes). TTF output from a CFF font is always a real outline conversion.
- Open Details on a row for family, PostScript name, outline type before and after, glyph and character counts, variable axes, layout tables, the embedding permission and the licence text stored in the font.
- Type in Preview text to compare the original and converted font side by side, then copy the
@font-facerule. - Press Download on a row, or Download all as ZIP when several files are ready.
Font Converter features
Real outline conversion
OTF → TTF approximates each cubic with quadratics to about 0.5 units at 1000 upm and rewrites side bearings; TTF → OTF is exact because every quadratic is also a cubic. Contour direction follows each format’s convention.
Proper WOFF and WOFF2
WOFF 1.0 is written table by table with the browser’s zlib; WOFF2 uses Google’s reference encoder (glyf/loca transforms plus Brotli), so sizes match command-line tools.
Collections and EOT
A TTC is split into faces named after their PostScript names. EOT files are unpacked (plain or XOR-obfuscated); EOT output carries family, style and PANOSE fields for Internet Explorer.
Nothing silently lost
Every row states what happened to the outlines: converted, kept, or kept because the font is variable.
Licence awareness
The details panel shows the OS/2 embedding permission and the licence text and URL stored in the font.
Batch and ZIP
Convert a whole family at once and download one ZIP with a ready @font-face snippet.
Which font format do you need?
| Format | Best for | Notes |
|---|---|---|
| WOFF2 | Websites — every current browser | Brotli-compressed; usually 30–50% smaller than WOFF and 60–70% smaller than TTF. Serve it first in src. |
| WOFF | Websites that must support very old browsers | zlib-compressed container around the same tables. Only needed for Internet Explorer 9–11 and old Android stock browsers. |
| TTF | Desktop installs, Android and iOS apps, games, embroidery and cutting software | TrueType outlines with optional hinting; the widest compatibility for native apps. |
| OTF (CFF) | Print design, Adobe apps, PostScript workflows | Cubic outlines, smaller for complex designs. Apps that demand "TrueType" reject CFF — convert to TTF for those. |
| EOT | Internet Explorer 6–8 only | Obsolete; produced here uncompressed. |
What changes and what stays the same
A container change (TTF ↔ WOFF ↔ WOFF2, or TrueType outlines kept inside an .otf) is lossless: every table is carried across and the font renders identically. Outline conversion is where the honest caveats live:
- CFF → TrueType replaces each cubic curve with one or more quadratics. The error is below the tolerance shown in the row note and invisible at any practical size; the file grows because quadratics need more points, and CFF hints are dropped without generating TrueType instructions.
- TrueType → CFF is geometrically exact. TrueType hinting (
fpgm,prep,cvt,gasp) cannot be expressed in CFF and is removed. Composite glyphs are flattened and no charstring subroutines are generated, so the CFF file can be larger than the TTF it came from. - Variable fonts: WOFF/WOFF2/TTF conversions keep every axis. Outline conversion of a variable font is refused (the
gvarorCFF2deltas would be lost); make a static instance with the font subsetter first if you need one. - Colour and bitmap fonts (
COLR,SVG,sbix,CBDT) survive container conversions but not outline conversion, which handles monochrome outlines only.
Font Converter FAQ
Is converting a font file legal?
It depends on the font’s licence, not on the tool. Fonts under the SIL Open Font License or Apache 2.0 may be converted and embedded (the licence notice stays in the name table). Many commercial licences forbid conversion or web embedding; the details panel shows the embedding flag and licence text so you can check. When in doubt, ask the foundry.
How do I convert OTF to TTF without losing quality?
Choose TTF. The CFF cubic curves become TrueType quadratics within about half a font unit — far below what any screen or printer can show — and metrics, kerning and OpenType features are kept. Only hinting is lost.
Why is my TTF to OTF conversion the same size as the TTF?
Because the TrueType outlines were kept inside the OTF container, which is a valid OpenType font and the safest default for variable or hinted fonts. Tick "Convert TrueType outlines to CFF" if your software insists on PostScript outlines.
Can I convert WOFF2 back to TTF?
Yes. WOFF2 is a compressed container; decoding it restores the original tables and you get a normal TTF or OTF, depending on the outlines inside. Check the licence before installing it on a desktop.
Does the font converter upload my files?
No. Parsing, outline conversion and compression run in your browser through JavaScript and WebAssembly (wawoff2 for WOFF2, HarfBuzz for instancing, fontkit for reading outlines). Close the tab and nothing remains.