Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
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.
Up to 100 files at once. Mixed formats are fine.
They convert one after another and download together as a ZIP.
WOFF to OTF
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.
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.
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.
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.
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.
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.
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.
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.
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.
| WOFF | OTF | |
|---|---|---|
| Full name | Web Open Font Format | OpenType Font |
| File extension | .woff | .otf |
| Media type | font/woff | font/otf |
| First published | 2009 | 1996 |
| Published by | W3C | Adobe |
| Specification | WOFF 1.0 | ISO/IEC 14496-22 |
| Licensing | Open standard | Open standard |
| Standing today | Legacy, still read everywhere | Current |
| Opens in a browser | Every browser | Every browser |
| Considered instead | WOFF2, TTF | TTF, WOFF2 |
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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.