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.
| Property | Outcome |
|---|---|
| Glyph outlines kept | Byte-identical. Outline data is copied out of the collection unchanged — a CFF face stays CFF and ships as .otf. |
| Character map (cmap) kept | Every code point keeps the same glyph id, checked against the face as it sits in the collection. |
| Family, version, copyright and licence strings kept | Preserved and re-checked after extraction. |
| OS/2 embedding permissions (fsType) kept | Preserved. Extraction never clears a vendor restriction bit. |
| OpenType layout (GSUB, GPOS, GDEF, kern) kept | Copied in full, including tables shared with sibling faces. |
| TrueType hinting (fpgm, prep, cvt, gasp) kept | Preserved unchanged. |
| Variable font tables (fvar, gvar, avar, HVAR, STAT) kept | Preserved unchanged; an extracted variable face stays variable. |
| Colour tables (COLR, CPAL, sbix, CBDT, SVG) kept | Preserved unchanged. |
| DSIG digital signature partial | Removed 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.
OpenWOFF2 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.
OpenOTF 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.
OpenLicensing
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