fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/font-converter

Convert a font, see every glyph.

A free font converter: open any of 9 formats (TTF, OTF, WOFF, WOFF2, EOT, DFONT, SUIT, BIN or Type 42) and save it as any of the 21, trimmed to only the characters you need. The new file is loaded by your browser and read back before you download it, and nothing leaves this tab.

font_downloadNo font openFailed to fetch dynamically imported module: http://127.0.0.1:9777/js/main/general/font-engine.js Sample .ttf
Failed to fetch dynamically imported module: http://127.0.0.1:9777/js/main/general/font-engine.js
outlinesTrueType
glyphs1,174
characters828
tables18
gavelLicence in the font: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL
save as
.woff2websites.woffold browsers.ttfinstall.otfdesign apps.svgSVG workflows.afmmetrics only
searchAll 21 formats · all saved hereexpand_more
search
.
No format matches.
keep characters
EverythingallLatinWestern EuropeBasic LatinA: Z, 0-9Only my text19 chars
writes.woff2
keeps828 of 828 chars
source396.6 KB
outlinesTrueType
Brotli-compressed sfnt (W3C WOFF2), written by Google’s woff2 encoder compiled to WebAssembly. downloadDownload font_downloadOpen a font first
CSS for font.woff2content_copyCopy
@font-face {
 font-family: "My Font";
 src: url("/fonts/font.woff2") format("woff2");
 font-weight: 400;
 font-style: normal;
 font-display: swap;
}
~/what-a-font-file-holds

A font is a box of shapes, and most go unused.

A full font can hold thousands of glyphs; an English page uses under 200. Open a font to see its own counts.

Everything in the file0 chars100%
Latin: Western and Central Europe0 chars41%
Basic Latin: A, Z, 0-9, punctuation0 chars11%
Only my preview text0 chars2%
Picking a set here changes what the converter at the top keeps.
Characters in the fontkeptdropped
AaBbĞğŞşÇçÖöÜüİıÆøЖжΩπ€£§&@→★fi½
~/all-21-formats-measured

How much smaller each of the 21 formats is.

We converted one real typeface into every format we can measure end to end and checked that no glyphs were lost: Akrobat ExtraBold, a 70.4 KB TrueType with 485 glyphs covering 432 characters, converted with fontTools 4.63. That test covers 7 formats; the button below writes all 21 from the font open above, right here, and checks each file.

straightenMeasure all 21 on the font
21formats, all written here
33%WOFF2 of the TrueType size (Akrobat)
159%SVG font, larger than the source
formattypeAkrobat (our test)this font, measured hereglyphs · checkbest for
.ttfDesktop70.4 KB · 100% 396.6 KB · 100% 1174 kept · loads in browserInstalling on any systemWorks everywhere, but too large to serve on the web.
.otfDesktop45.7 KB · 65% 384.8 KB · 97% 1174 kept · loads in browserDesign and print workSupports ligatures, small caps and alternate glyphs.
.dfontDesktopnot published 396.9 KB · 100% 1174 kept · reopenedOlder macOS systemsConvert to TTF or OTF for anything current.
.cffDesktopnot published 362.3 KB · 91% 1174 kept · read backA building block rather than a delivered fontUsually wrapped in OTF rather than used directly.
.cidDesktopnot published 360.0 KB · 91% 1174 kept · read backChinese, Japanese and Korean typefacesHandles tens of thousands of glyphs.
.sfdDesktopnot published 1233.3 KB · 311% 1174 kept · read backEditing a typeface you are still designingA working file, not something to ship.
.ufoDesktopnot published 4307.5 KB · 1086% 1174 kept · read backCollaborative type design workA folder of XML files rather than a single binary.
.woffWeb32.5 KB · 46% 143.8 KB · 36% 1174 kept · loads in browserOlder browser supportRoughly half the size of the TTF it came from.
.woff2Web23 KB · 33% 100.7 KB · 25% 1174 kept · loads in browserModern websitesThe smallest of the lot: a third of the original in our test.
.eotWeb70.5 KB · 100% 396.7 KB · 100% 1174 kept · loads in browserInternet Explorer 8 and olderObsolete; use WOFF2 with a WOFF fallback.
.svgWeb111.7 KB · 159% 530.4 KB · 134% 826 outlines · writtenLegacy Safari onlyRemoved from browsers, and larger than the source font.
.pfbPrint & sourcenot published 238.0 KB · 60% 1174 kept · read backLegacy print workflowsRetired by Adobe; convert to OTF.
.pfaPrint & sourcenot published 477.8 KB · 120% 1174 kept · read backOld Unix and print systemsThe plain-text sibling of PFB.
.pfmPrint & sourcenot published 0.7 KB · 0% metrics · read backAlongside its matching PFB fileHolds spacing data, not outlines.
.afmPrint & source12.2 KB · 17% 38.2 KB · 10% metrics · writtenTypesetting systemsContains no outlines at all.
.binPrint & sourcenot published 397.0 KB · 100% 1174 kept · reopenedUnpacking fonts from old Mac downloadsUnwrap it before converting.
.suitPrint & sourcenot published 397.0 KB · 100% 1174 kept · reopenedRecovering fonts from old Mac archivesA container that usually holds bitmap and Type 1 data.
.psPrint & sourcenot published 477.9 KB · 121% 1174 kept · read backLegacy print pipelinesConvert to OTF for modern use.
.pt3Print & sourcenot published 759.9 KB · 192% 1174 kept · read backOpening very old DTP documentsLong obsolete.
.t11Print & sourcenot published 804.9 KB · 203% 1174 kept · read backLegacy East Asian printingConvert to OTF or TTF.
.t42Print & sourcenot published 811.5 KB · 205% 1174 kept · reopenedSending TrueType outlines to a PostScript RIPA print transport format.
WOFF2 is the clear winner for the webAt 23 KB, 33% of the original, with all 485 glyphs intact. WOFF saved less at 46% because it uses zlib rather than Brotli, but it is still worth shipping as a fallback.
OTF came out smaller than the TrueTypeConverting rebuilt the outlines in the CFF format at 65% of the source, which is why OpenType files from a foundry are often smaller than the TrueType equivalent.
Two old web formats are worth avoidingEOT is a TrueType font behind a small header, so it saves nothing at 100%, and SVG fonts came out at 159%, larger than the source, in a format browsers no longer support.
AFM is not a font at allAt 12.2 KB it holds only spacing data and no outlines, so it belongs beside a font file rather than replacing one.
~/all-21-formats

21 font formats, from web fonts to print.

All 21 are saved right here, and every saved file is read back before you download it. Ten open here too: the desktop and web fonts, the Mac suitcases and Type 42. SVG fonts are recognised but not reopened, because browsers no longer draw them.

formatwhat it isbest foropens heresaves herelinks
Desktop fonts7 formats
.ttf TrueType, the most widely supported desktop font.Works everywhere, but too large to serve on the web. Best for installing on Windows, macOS and Linux. this page this page What is .ttf?Convert .ttf →
.otf OpenType, built on TrueType with richer typography.Supports ligatures, small caps and alternate glyphs. Best for professional design work and advanced features. this page this page What is .otf?Convert .otf →
.dfont Apple’s datafork font suitcase format.Convert to TTF or OTF for anything current. Best for older macOS systems. this page this page What is .?Convert .dfont →
.cff Compact Font Format, the PostScript outlines inside OTF.Usually wrapped in OTF rather than used directly. Best as a building block rather than a delivered font. no this page What is .?Convert .cff →
.cid CID-keyed fonts, built for large character sets.Handles tens of thousands of glyphs. Best for Chinese, Japanese and Korean typefaces. no this page What is .?Convert .cid →
.sfd FontForge’s own editable source format.A working file, not something to ship. Best for editing a typeface you are still designing. no this page What is .?Convert .sfd →
.ufo Unified Font Object, an open format for type design.A folder of XML files rather than a single binary. Best for collaborative type design work. no this page What is .?Convert .ufo →
Web fonts4 formats
.woff Web Open Font Format, a compressed font for browsers.Roughly half the size of the TTF it came from. Best for web pages that must support older browsers. this page this page What is .woff?Convert .woff →
.woff2 The current web font standard, compressed with Brotli.The smallest of the lot: a third of the original in our test. Best for any modern website. this page this page What is .woff2?Convert .woff2 →
.eot Embedded OpenType, Microsoft’s old web font format.Obsolete; use WOFF2 with a WOFF fallback. Best only for Internet Explorer 8 and earlier. this page this page What is .eot?Convert .eot →
.svg Fonts described as SVG vector outlines.Removed from browsers, and larger than the source font. Best for legacy Safari and some SVG workflows. this page this page What is .svg?Convert .svg →
Specialised formats10 formats
.pfb PostScript Type 1, binary form.Retired by Adobe; convert to OTF. Best for legacy print workflows. no this page What is .pfb?Convert .pfb →
.pfa PostScript Type 1, ASCII form.The plain-text sibling of PFB. Best for old Unix and print systems. no this page What is .?Convert .pfa →
.pfm Printer Font Metrics, the Windows companion to PFB.Holds spacing data, not outlines. Best kept alongside its matching PFB file. no this page What is .?Convert .pfm →
.afm Adobe Font Metrics, a plain-text metrics file.Contains no outlines at all. Best for typesetting systems that need spacing data. no this page What is .?Convert .afm →
.bin A MacBinary-wrapped font resource.Unwrap it before converting. Best for unpacking fonts from old Mac downloads. this page this page What is .?Convert .bin →
.suit The classic Mac font suitcase.A container that usually holds bitmap and Type 1 data. Best for recovering fonts from old Mac archives. this page this page What is .?Convert .suit →
.ps A PostScript font program.Convert to OTF for modern use. Best for legacy print pipelines. no this page What is .ps?Convert .ps →
.pt3 A PageMaker Type 3 font.Long obsolete. Best for opening very old DTP documents. no this page What is .?Convert .pt3 →
.t11 A Type 11 CJK font.Convert to OTF or TTF. Best for legacy East Asian printing. no this page What is .?Convert .t11 →
.t42 Type 42, a TrueType font wrapped for PostScript printers.A print transport format. Best for sending TrueType outlines to a PostScript RIP. this page this page What is .?Convert .t42 →
gavelConverting a font does not change who is allowed to use it. Many desktop licences do not cover putting the font on a website; open-licence fonts like those under the SIL Open Font Licence can be converted and self-hosted freely.
~/sfnt-tables

Inside every TTF and OTF: a 12-byte header and a list of tables.

TrueType and OpenType share one container, the sfnt. The file opens with a version tag, then a directory with one 16-byte record per table: a four-letter tag, a checksum, an offset and a length. The records are sorted by tag so a font engine can binary-search them, which is what the odd-looking searchRange fields are for. Choose the outline type and optional tables and the header below is rebuilt.

outlines
TrueTypeglyf + loca · 00 01 00 00CFFPostScript · “OTTO”
optional tables
check_boxGSUBligatures, alternatescheck_boxGPOSmodern kerningcheck_box_outline_blankkernlegacy kerningcheck_box_outline_blankfvarvariable font (+ gvar)check_box_outline_blankCOLRcolour glyphs (+ CPAL)check_box_outline_blankDSIGsignature stub
offset table · first 12 bytes of the file
00·01·00·00·00·0C·00·80·00·03·00·40@
sfntVersion0x00010000TrueType outlinesnumTables12records followsearchRange12816 × 2^3entrySelector3log₂ of largest power of 2 ≤ 12rangeShift6412 × 16 − 128
tagtag bytesoffsetlengthholds
GPOS47 50 4F 532048,400positioning: kerning, mark attachment
GSUB47 53 55 428,6043,100substitutions: ligatures, small caps, alternates
OS/24F 53 2F 3211,70496weight class, Windows metrics, embedding rights
cmap63 6D 61 7011,8001,800character → glyph mapping
glyf67 6C 79 6613,60061,200quadratic TrueType outlines
head68 65 61 6474,80054units per em, bounding box, checksum adjustment
hhea68 68 65 6174,85636horizontal ascent, descent, line gap
hmtx68 6D 74 7874,8921,240advance width of every glyph
loca6C 6F 63 6176,1321,242offset of each glyph in glyf
maxp6D 61 78 7077,37632glyph count and memory limits
name6E 61 6D 6577,4081,450family, style, copyright, licence strings
post70 6F 73 7478,86032PostScript names, italic angle
Tables sorted by tag in byte order, so uppercase tags such as GPOS and OS/2 come before lowercase ones. Each table starts on a 4-byte boundary; the font totals about 77 KB uncompressed. Lengths are typical values for a Latin text face. The head table’s checkSumAdjustment is set so the whole file sums to 0xB1B0AFBA.
~/fvar-axes

One variable font file instead of a folder of weights.

Since OpenType 1.8, a font can store design axes in its fvar table and the differences between masters in gvar or CFF2. Literata has two registered axes: weight, and optical size, which changes the letter shapes for small or large text rather than just scaling them. The sample below is the real variable font, set with font-variation-settings in your browser.

Handgloves & quiet type
axismindefaultmax
wght200400900
opsz71272
@font-face {
 font-family: "Literata";
 src: url("literata-var.woff2")
 format("woff2") tech(variations);
 font-weight: 200 900;
}
h1 {
 font-weight: 400;
 font-optical-sizing: auto;
}
wghtweight 1-1000wdthwidth, % of normalopszoptical size in ptitalitalic 0 or 1slntslant in degreesvariations: yesCSS.supports(), this browser
~/spec-sheet

Font formats, for reference.

Signatures, media types and limits from the OpenType 1.9 specification, W3C WOFF and WOFF2 and RFC 8081. The last column asks this browser whether it accepts each format in @font-face.

formatmagic bytesMIME typecompressionhere
TTF00 01 00 00font/ttfnonecheck_circleyes
OTF4F 54 54 4F “OTTO”font/otfnonecheck_circleyes
TTC74 74 63 66 “ttcf”font/collectionnone; shares tables between fontscheck_circleyes
WOFF77 4F 46 46 “wOFF”font/woffzlib per tablecheck_circleyes
WOFF277 4F 46 32 “wOF2”font/woff2Brotli over all tables, with glyf/loca transformscheck_circleyes
EOTversion at byte 8 · “LP” at 34application/vnd.ms-fontobjectoptional MicroType Expresscancelno
SVG fontXML <font> elementimage/svg+xmlnone (text)cancelno
ContainersfntShared by TrueType, OpenType, AAT and colour fonts
Byte orderbig-endianEvery table, including inside WOFF and WOFF2
Glyph limit65,535Glyph IDs are 16-bit; maxp.numGlyphs caps the count
unitsPerEm16-16,384TrueType fonts usually 2048, CFF fonts usually 1000
Checksumuint32 sum per tableFile total must equal 0xB1B0AFBA after head.checkSumAdjustment
SpecificationOpenType 1.9.1Microsoft and Adobe; also ISO/IEC 14496-22 (Open Font Format)
Web formatsWOFF 1.0 · WOFF2W3C Recommendations, 2012 and 2018
Media typesRFC 8081 · 2017Registered the font/ top-level type
EmbeddingOS/2.fsTypeInstallable, editable, preview-and-print or restricted licence bits
1984PostScript Type 1Adobe’s outline fonts, with cubic curves and hinting.
1991TrueTypeApple ships TrueType in System 7; Microsoft licenses it for Windows 3.1.
1996OpenTypeMicrosoft and Adobe merge the formats: one sfnt that can hold glyf or CFF outlines.
2007ISO Open Font FormatOpenType is standardised as ISO/IEC 14496-22.
2010WOFFFirefox ships the web font wrapper; it becomes a W3C Recommendation in 2012.
2016Variable fontsOpenType 1.8 adds fvar, gvar and CFF2, announced jointly by Apple, Google, Microsoft and Adobe.
2017font/ media typesRFC 8081 registers font/ttf, font/otf, font/woff and font/woff2.
2018WOFF2Brotli-based WOFF2 becomes a W3C Recommendation.
2021COLRv1Gradient colour glyphs added; shipped in Chrome for emoji.