Font Tools

TTF to OTF Converter

TrueType to OpenType conversion needs a font compiler. This page explains exactly why, and gives you the route that actually works.

Free · no account Runs in your browser Fonts Browser limits explained

Convert with this tool

Flagged as limited — read this firstPart of what this page is named after cannot be performed by a browser engine, and this tool will tell you so instead of pretending. The limitation is explained in full under Browser limits on this page below. Everything that can be done runs locally on your device.
Drag & Drop File Here

or choose a file from your device — it is processed in this tab and never uploaded

Accepted: TTF (for inspection)

    Ready.

    Files stay on your device. There is no upload, no queue and no watermark, so a conversion works even with the network switched off after the page has loaded.

    Supported formats & processing

    Accepted inputTTF (for inspection)
    Produced outputInspection report and conversion guidance — no font file is produced
    ProcessingWeb Audio API + canvas + native JavaScript encoders
    Upload requiredNo — the file is read locally and never transmitted

    How to use this tool

    1. Add the TTF fileThe tool reads the table directory, glyph count and outline type.
    2. Confirm it is TrueTypeThe reported outline type should say quadratic if you have a genuine TTF.
    3. Read the recommended routefontTools is the standard tool: fontTools ttLib with cu2qu for outline conversion.
    4. Run the conversion on your machineThe exact command is given on this page.
    5. Verify the resultDrop the produced OTF back into the font metadata checker to confirm it is valid.

    About this tool

    TTF and OTF are not two versions of the same thing. A TTF stores glyph outlines as quadratic Bézier curves in a glyf table with a loca index and optional hinting instructions. An OTF with PostScript outlines stores them as cubic Bézier curves in a CFF table, expressed as a charstring program interpreted by a virtual machine.

    Converting between them means converting every curve between two different mathematical representations, rebuilding the charstring program or the glyf and loca tables, regenerating all the metrics, and fixing up the checksums. That is a font compiler's job. There is no browser API that exposes glyph outlines for writing, and no JavaScript library that does this reliably — which is why this page does not pretend to offer it.

    What it does offer is the information you need to do it properly, plus full inspection of your source font so you can confirm what you have before running a desktop tool.

    Features

    • Full inspection of the source font's table structure
    • Explains the quadratic-versus-cubic outline difference in plain terms
    • Gives the exact fontTools command for the conversion
    • Suggests the desktop tools that handle it reliably
    • No fake output and no misleading success message
    • Verify any converted file with the metadata checker

    Browser limits on this page

    The part that is genuinely impossible in a browser

    Outlines. TrueType (TTF) and PostScript (OTF/CFF) are different glyph technologies, not two labels for the same data. Converting one into the other means re-drawing every glyph — a conversion driven by a rasteriser and curve fitter, not by a byte-level transformation. No browser API does that, and any page that offers it is either upsampling a picture or lying.

    Naming. A browser can read a font's internal tables but cannot re-issue the digital signature and embedding metadata a font vendor expects, so a repackaged file is not a licensed re-release of the original typeface.

    WOFF2. WOFF2 uses a pre-processing transform plus Brotli, and no browser exposes Brotli compression to script. Genuine WOFF2 output is not possible here without shipping a full Brotli+woff2 encoder in WebAssembly.

    What this page does instead: it reads and validates the file you supply, states precisely which conversion is not supported and why, and points you at the desktop route that works (fonttools, fontforge, or the Google woff2 tools).

    Frequently asked questions

    What is the actual difference between TTF and OTF?

    The outline mathematics. TrueType uses quadratic Bézier curves, which are simpler and faster to rasterise, plus optional hinting bytecode. OpenType/CFF uses cubic curves, which describe the same shapes with fewer control points, and supports more advanced typographic features through OpenType layout tables — though modern TrueType fonts carry those too.

    Which command converts TTF to OTF?

    fontTools has no one-step outline converter, but the usual route is to decompose and rebuild: use fontTools with cu2qu to convert quadratic outlines to cubic, then compile with a CFF table. In practice many people use FontForge's scripting mode, which handles the conversion in a single pass.

    Will the converted font look identical?

    Not necessarily. Quadratic and cubic curves cannot represent every shape exactly, so conversion introduces small errors in the outline. At normal sizes the difference is invisible, but it is not a lossless transformation.

    Do I actually need OTF?

    Often not. Modern browsers and operating systems support both. OTF is worth pursuing when a specific application requires PostScript outlines, or when a font has more than 65,535 glyphs, which the TrueType glyf table cannot address.