TTC to TTF

A TrueType Collection bundles several fonts into one file: a tiny "ttcf" header points to one table directory per face, and those directories can share table data across the collection. Windows and macOS ship entire families this way. This page reads that structure locally, extracts every face as a standalone font, and re-verifies each result against the collection before offering it. One honest caveat up front: extraction is not conversion — each face keeps the outlines it arrived with, so a CFF face in the collection is emitted as an .otf, not renamed to .ttf.

Drop a TrueType/OpenType Collection (.ttc / .otc) here.

Extraction runs in this tab. Nothing is uploaded and no font byte leaves the browser.

Files are read and processed in this browser tab. Nothing is uploaded — the page’s Content-Security-Policy blocks connections to any other origin.

Why collections exist, and what sharing means for extraction

A CJK family can easily exceed twenty megabytes per weight. Shipping five weights as separate files would repeat identical cmap, name and layout tables five times over; shipping them as one collection lets every face point at the same bytes. The faces are complete fonts — any of them can be installed from inside the file by tools that read collections.

Sharing also means you cannot simply slice a face out of the file: its directory points at table data scattered across the whole container. Extraction therefore copies each referenced table in full and rebuilds the face's table directory from scratch, with correct checksums and a correct head.checkSumAdjustment. The result stands entirely on its own.

Referenced font tables are preserved, except that the standalone head.checkSumAdjustment is recalculated and an invalidated DSIG signature is removed. Names, licence strings, OS/2 embedding permissions, cmap coverage, layout tables, hinting and variation data are compared with the source before a download link appears.

System font collections deserve a licensing pause

Many .ttc files people encounter are Windows or macOS system fonts. Extracting a copy is technically straightforward; being allowed to redistribute, modify or embed it depends on the font licence and your intended use. The tool preserves the copyright and licence strings each face declares plus its OS/2 embedding bits, but those fields are evidence to review rather than legal permission.

What survives this conversion

Every row below is checked automatically against your own file after conversion. If any check fails the output is discarded rather than offered for download.

Conversion compatibility for TTC to TTF
PropertyOutcome
Glyph outlines keptByte-identical. Outline data is copied out of the collection unchanged — a CFF face stays CFF and ships as .otf.
Character map (cmap) keptEvery code point keeps the same glyph id, checked against the face as it sits in the collection.
Family, version, copyright and licence strings keptPreserved and re-checked after extraction.
OS/2 embedding permissions (fsType) keptPreserved. Extraction never clears a vendor restriction bit.
OpenType layout (GSUB, GPOS, GDEF, kern) keptCopied in full, including tables shared with sibling faces.
TrueType hinting (fpgm, prep, cvt, gasp) keptPreserved unchanged.
Variable font tables (fvar, gvar, avar, HVAR, STAT) keptPreserved unchanged; an extracted variable face stays variable.
Colour tables (COLR, CPAL, sbix, CBDT, SVG) keptPreserved unchanged.
DSIG digital signature partialRemoved from the extracted file because the signature covers the original collection layout and cannot validate a rebuilt standalone file.

When it does not work

"This collection declares zero fonts" or an implausibly large count.

Why: The ttcf header is corrupt, or the file is not really a collection despite its extension.

Fix: Open it in the inspector, which reports what the first four bytes actually are, and use the matching route.

"Font N does not begin with a TrueType or OpenType signature".

Why: One slot in the collection's offset table points at garbage — typical of a file edited by a tool that moved tables without updating offsets.

Fix: Other faces still extract normally; this one is reported as failed with no download. Re-export the collection from its original fonts if you need that face.

Every face came out as .otf when you expected .ttf.

Why: CFF/PostScript outlines were inside. Extraction copies outline data verbatim rather than redrawing it, so the honest extension follows the actual outline model.

Fix: If you genuinely need TrueType outlines for a face, run the extracted file through the OTF to TTF converter, which redraws curves to a stated tolerance.

The extracted font will not install on your operating system.

Why: Some collections carry heavily subsetted or bitmap-oriented faces whose tables a desktop installer requires are missing, or their OS/2 fsType forbids installation.

Fix: Check the embedding panel in the inspector. A restricted fsType is a statement from the vendor, not an obstacle to engineer around.

Related

  • Inspector

    Read everything inside a font file in your browser: family and PostScript names, version, copyright and licence text, OS/2 embedding permissions, variation axes, colour tables and the full table directory.

    Open
  • WOFF2 to TTF

    Decode WOFF2 web fonts back to installable TTF/OTF in your browser. Uses the reference Google WOFF2 decoder, preserves every table, and verifies the result. Nothing is uploaded.

    Open
  • OTF to TTF

    Convert OpenType/CFF fonts to real TrueType in your browser. Outlines are genuinely redrawn from cubic to quadratic curves to a stated tolerance, not renamed. Nothing is uploaded.

    Open
  • Licensing

    What OS/2 fsType embedding bits mean, why converting a font grants you nothing, and how to check whether you may subset or web-embed a font you own.

    Open