Convert WOFF2 to OTF

Converting WOFF2 to OTF unwraps a web font into an installable OpenType file, keeping the cubic PostScript outlines exactly as they were. What it cannot do is undo the preparation that produced the WOFF2: a font built for a website is normally subset, so the OTF you get back may be missing characters and features the printed work needs.

  • 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 WOFF2 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.

When a WOFF2 is all the brand kit gave you

It happens constantly. A brand package is assembled by whoever built the website, the website needed web fonts, and the folder that circulates afterwards contains a WOFF2 per weight and nothing else. Six months later somebody has to set a report, a pitch deck or a poster, and the typeface will not install.

Unwrapping the web file is the obvious move and it works. It is also the second-best answer, and knowing why matters more here than on any other font page: the web build was a deliberate reduction, and the reduction is what you are about to inherit.

CFF outlines are why OTF is the right target here

WOFF2 carries either kind of curve without distinguishing them. Underneath, a font holds quadratic outlines in a glyf table or cubic PostScript outlines in a CFF table, and that choice was made by the type designer years before anyone thought about the web.

The unwrapped file has to be named for what it actually contains, so the converter inspects the tables and insists. A CFF font becomes an OTF; a TrueType one becomes a TTF and the OTF request is refused with the reason. If you asked for OTF and were told the font holds TrueType outlines, nothing is wrong — the answer is simply TTF, and it installs and behaves identically for layout work.

The subset is the problem, not the container

Preparing a font for the web means removing every glyph the site does not set, because that is where the download saving comes from. A file built for an English-language site typically holds basic Latin and a handful of punctuation marks, out of a retail character set that may have run to several hundred glyphs.

You will meet it the first time a name, a place or a price needs a character the site never used — an accented vowel, a dash of the wrong length, a currency symbol. The application shows a blank box or silently substitutes another font for that character, which is worse because it is easy to miss until proof stage.

OpenType features may have gone with the glyphs

True small capitals, old-style figures, discretionary ligatures and stylistic alternates are separate glyphs that feature tables point at. A subsetter told to keep the characters found in the page content sees them as unreferenced, discards them, and the feature definitions become dead entries or disappear.

That is exactly the material a layout designer reaches for. The typographic panel in InDesign or Affinity will show what is genuinely present, so open the converted font and check before committing a design to small capitals that the web build removed in 2021. It is a five-second check that saves an argument about why the web and the brochure do not match.

A web font is not lower resolution, and never was

This misconception is worth killing directly. Font outlines are vector curves with no resolution of any kind; the same file sets six-point footnotes and a poster headline from the same description. Nothing about having been served to a browser degrades a letterform.

So a subset web font converted to OTF prints at exactly the quality the original does, for every character it still contains. The reason to want the desktop release is coverage, features and licensing — not fidelity, not sharpness, and not print quality. Anyone told otherwise has been sold a different argument.

Using the result in InDesign, Illustrator and Affinity

Install the OTF the way any font is installed and it appears in every application’s font list after a restart. Layout software treats it as an ordinary OpenType font, with the typographic panels reading whatever feature tables survived.

Two practical points. Applications display the family name from inside the file, and web builds frequently rewrite that name, so the typeface may appear under something unrecognisable in the menu. And a document that uses it needs the font wherever it is opened — packaging a layout for a printer copies the font file into the package, which is a distribution of the font and therefore a licensing act rather than a technical one.

Identify the typeface and ask for the desktop release

The right fix is almost always to obtain the real font. The name table inside the file usually still carries the designer, the foundry or a manufacturer URL even when the family name has been rewritten, and any font editor or inspector will show them.

With that, the desktop release can be bought or the client’s existing licence located. Foundries sell desktop and web as separate products, so a web team holding files is not evidence that a desktop entitlement exists — and buying one is frequently cheaper than the time spent working around a subset. For open-licensed families the original is usually a free download from the project that publishes it.

Variable fonts, and what layout software does with one

If the site used a variable font, the WOFF2 holds one set of outlines plus interpolation data covering a whole weight axis, and the unwrapped OTF keeps all of it. Current versions of the major layout applications expose the axes as sliders; older ones show a single default instance and nothing else.

That is worth checking before assuming a weight is missing. A variable font that appears in the menu as one entry may well contain the light and the black the design calls for, sitting behind an interface the application version does not draw.

What this conversion cannot give you back

Four things, and they are worth stating together because they are all decisions made before the file reached you. Glyphs removed by subsetting are gone. Feature tables stripped alongside them are gone. A family name rewritten by a kit builder stays rewritten. And hinting, if a build step dropped it, is not regenerated.

One more, from this end: the converter changes the container and never the curves. It will not turn PostScript outlines into TrueType ones or the reverse — that redraws every glyph, and a half-correct version produces a font that looks right and spaces wrongly, which is why it is refused rather than approximated.

How to turn a WOFF2 into an installable OTF

  1. Drop the WOFF2 onto this page, or click to choose one.
  2. Choose OTF as the target — the converter will say if the font is TrueType instead.
  3. Download the OTF, install it, and check the glyph coverage before you design with it.

WOFF2 and OTF: the web copy against the desktop release

WOFF2 compared with OTF
WOFF2OTF
Full nameWeb Open Font Format 2OpenType Font
File extension.woff2.otf
Media typefont/woff2font/otf
First published20181996
Published byW3CAdobe
SpecificationWOFF 2.0ISO/IEC 14496-22
LicensingOpen standardOpen standard
Standing todayCurrentCurrent
Opens in a browserEvery browserEvery browser
Considered insteadWOFF, TTFTTF

What survives

Nothing is discarded. WOFF2 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 WOFF2 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

FontForge reads both WOFF2 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: WOFF2 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.

WOFF2 is W3C's format, published in 2018. The specification is WOFF 2.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.

OTF was published in 1996 and WOFF2 in 2018. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

WOFF2 to OTF: glyph coverage, features and print work

Why does the converter want OTF rather than TTF for my file?

Because of the outlines inside it. A font holding cubic PostScript curves in a CFF table unwraps to an OTF; one holding quadratic TrueType curves unwraps to a TTF. Requesting the wrong one is refused rather than answered with a mislabelled file.

Will the OTF have small capitals and old-style figures?

Only if the web build kept them. Subsetters routinely discard the alternate glyphs those features point at, because no ordinary text references them, and the feature tables go with the glyphs. Open the font and look before planning a layout around them.

Characters are missing from the converted font. Can I recover them?

No. A subset font does not contain the glyphs that were removed, and nothing in a container conversion can regenerate them. The full character set exists only in the desktop release the web files were made from.

Is a web font lower resolution or lower quality for print?

No. Font outlines are vector curves and have no resolution at all — the same file sets type at 8 points and on a billboard. What a web build removes is coverage and features, never fidelity.

What should I ask the client or the web team for?

The desktop licence and the original TTF or OTF from the foundry, plus the licence document. Foundries supply desktop and web as separate products, so the web team having files does not mean the desktop entitlement exists.

Is my font uploaded anywhere?

It goes to our server, 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 as soon as the job finishes. The free limit is 25 MB per file.

More about these formats