Convert WOFF to OTF

Converting WOFF to OTF unwraps a web font whose outlines are cubic PostScript curves, producing an installable OpenType file with the tables copied verbatim. It is the right target whenever a WOFF to TTF attempt reports that the font holds PostScript outlines — and it is usually the first step in working out which typeface an old project was actually using.

  • Where it runs On our server, because a browser cannot run the software this needs.
  • Lossless Nothing is discarded. The OTF holds exactly what the WOFF held.
  • File size limit Up to 25 MB per file, free, without an account.
  • Worth knowing The outlines decide what an unwrapped font is: a WOFF holding PostScript curves becomes an OTF, one holding TrueType curves becomes a TTF. Asking for the other is refused rather than answered with a mislabelled file.

Up to 100 files at once. Mixed formats are fine.

A WOFF that holds PostScript curves

Font outlines come in two kinds. Quadratic curves live in a glyf table and are what TrueType uses; cubic Bézier curves live in a CFF table and are what PostScript-flavoured OpenType uses. The choice belongs to the type designer and predates any decision about the web by years.

A WOFF carries either without distinguishing them, and the file extension tells you nothing. That is why "convert my WOFF to a desktop font" has two answers and only one of them is right for a given file — and why the tool inspects the tables rather than trusting the request.

The refusal you may have already met, and what it means

Ask for a TTF from a CFF-based font and the conversion stops with a sentence rather than a file: the font holds PostScript outlines, so unwrapping it produces an OTF rather than a TTF, and the suggestion is to convert it to OTF instead.

Nothing is wrong with the font and nothing is wrong with the tool. The alternative — writing the CFF tables into a file called .ttf — produces something that some software opens, some rejects, and nobody can reason about. A refusal that names the real outline type is more useful than a file that lies about itself, and the correction takes one click.

Reading the name table to find out what you have

Every font carries a name table: family, subfamily, full name, PostScript name, and frequently the designer, the foundry, a manufacturer URL, a copyright line and a licence description. Kit builders rewrite the family name and rarely bother with the rest, so the useful identification usually survives.

Any font editor or inspector will show it, and the OTF is the convenient form to inspect because desktop tools open it directly. That is often the real reason to run this conversion: not to install the font, but to find out whose it is before deciding anything else.

Recovering a typeface from a site that no longer exists

A decommissioned site frequently leaves one artefact behind: the font directory in an old deployment or a repository. If a brand is being rebuilt and nobody remembers what the type was, that folder is the record, and the WOFF in it is the evidence.

Treat it as evidence rather than as a supply. Unwrapping gives you an inspectable font and the name table gives you the identity; from there the correct route is to obtain the typeface properly for the new project. Reusing the recovered file directly carries forward a licence that was granted for a site that is switched off.

What the OTF will contain, and what it will not

It will contain exactly what the WOFF contained: the CFF outlines, the character map, the metrics, the kerning and whatever OpenType features the web build kept. The conversion decompresses and rewrites the container; it inspects nothing else and changes nothing.

What it will not contain is anything the web build removed. Web fonts are normally subset to the characters a site sets, and a subsetter that dropped small-capital and alternate glyphs also left their feature entries pointing at nothing. An unwrapped OTF is a faithful copy of the web font, which is a different object from the foundry’s desktop release.

Obtaining the font properly once you know its name

With a family name, a designer and often a URL from the name table, the typeface can be looked up in a few minutes. Some turn out to be open-licensed and are a free download in their complete form, which is the best possible outcome — the full character set, all the features, no ambiguity.

The rest are commercial, and the desktop and web licences are separate products. Buying the one you need is generally cheaper than designing around a subset, and it converts an inherited uncertainty into a document you can point at. If the typeface turns out to be discontinued, the name is still what you need to find a successor or a close alternative.

When the name table has been stripped too

Occasionally a build pipeline removes everything it can, and the font arrives with a generic name and no designer or foundry information. That does not make identification impossible, only manual — the letterforms themselves are the remaining evidence.

Set a specimen from the unwrapped OTF: a lowercase a and g, the numerals, an ampersand and a question mark are the characters that most distinguish one family from another. Those shapes can be matched against a foundry catalogue or shown to anyone who works with type. It is slower than reading a metadata field and it usually works.

Keeping an OTF as the archival copy of a project

When a project is being archived rather than revived, the OTF is a better thing to keep than the WOFF. It is the form desktop software opens, it is the form a font inspector reads without extra tooling, and it is not tied to a delivery mechanism that will itself be replaced eventually.

Keep the licence document beside it, or a note of where the font came from and under what terms. The font file is the easy part to preserve; the entitlement is what disappears, and a folder containing type with no provenance is a liability rather than an asset for whoever inherits it.

How the conversion works, and where it happens

fontTools reads the WOFF, checks which outline table is present, clears the compression flavour and writes a plain sfnt file. No glyph is touched and no table is rebuilt, which is why the operation is lossless in both directions and takes about as long as reading the file.

It runs on our server rather than in your browser, because fontTools has no browser build. The file travels over an encrypted connection, is converted in an isolated environment, and the working directory is deleted when the job finishes. The free allowance is 100 server conversions a day and 25 MB per file, with up to 100 files in a batch returned as a ZIP.

How to unwrap a WOFF into an OTF

  1. Drop the WOFF onto this page, or click to choose one.
  2. Choose OTF as the target and start the conversion.
  3. Open the OTF in a font inspector to read its name table before installing it.

WOFF and OTF: the container and the curves inside it

WOFF compared with OTF
WOFFOTF
Full nameWeb Open Font FormatOpenType Font
File extension.woff.otf
Media typefont/wofffont/otf
First published20091996
Published byW3CAdobe
SpecificationWOFF 1.0ISO/IEC 14496-22
LicensingOpen standardOpen standard
Standing todayLegacy, still read everywhereCurrent
Opens in a browserEvery browserEvery browser
Considered insteadWOFF2, TTFTTF, WOFF2

What survives

Nothing is discarded. WOFF and OTF both store their content losslessly, so the conversion is a change of packaging rather than a change of quality, and it can be repeated without accumulating damage.

What the target format adds

OTF is a working format and WOFF is a finished one. What comes back is editable text and objects rather than a picture of a page, which is usually the reason for the conversion and also where its limits are.

Opening the result

WOFF dates from 2009 and is largely superseded. OTF is what current software writes, so the conversion is as much about staying readable as about the file itself.

FontForge reads both WOFF and OTF, so there is a way to check the result against the original without a second tool.

What each format is for

The two are aimed at different work: WOFF at the web, OTF at typesetting and print. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

WOFF is W3C's format, published in 2009. The specification is WOFF 1.0, and it is worth reading if the file has to outlive the tool that wrote it.

OTF comes from Adobe and dates from 1996, specified as ISO/IEC 14496-22. FontForge, Glyphs and FontLab all read it.

WOFF to OTF: outlines, identification and provenance

Are my WOFF files uploaded anywhere?

Yes — this conversion needs software that cannot run in a browser, so the file is uploaded over an encrypted connection. It is deleted as soon as the job finishes, and the result is sent straight back to you without being stored. The work is done by fontTools, the font manipulation library used to build web fonts.

Why was my WOFF to TTF conversion refused?

Because the font holds cubic PostScript curves in a CFF table. Unwrapped, that is an OTF — naming it .ttf would produce a file whose extension misdescribes its contents, so the converter reports the outline type instead and asks you to choose OTF.

How do I find out which typeface a WOFF actually is?

Read its name table. Any font editor or inspector shows the family and subfamily names, and usually the designer, foundry and a manufacturer URL, even when a kit builder rewrote the family name to something like "brand-webfont".

Do the OpenType features survive the unwrap?

Whatever is in the file survives — the feature tables are copied verbatim. Whether they are complete depends on the web build: a subsetter that dropped the alternate glyphs also left the features pointing at nothing.

Can I convert the OTF to a TTF afterwards?

Not here. Moving between cubic and quadratic outlines redraws every glyph, and a half-correct conversion produces a font that looks right and spaces wrongly. Nothing needs it either: OTF installs everywhere a TTF does.

Is the unwrapped OTF the same as the foundry’s desktop file?

Only if the web font was built from the full release without subsetting, which is unusual. Expect reduced character coverage and possibly missing features. It is a faithful copy of the web build, not of the original.

Can I keep using a font recovered from an old project?

That depends on the licence, not on the file. Web licences are typically issued for a named site, so a decommissioned project does not carry its font to a new one. Identify the family and check its terms before reusing it.

More about these formats