OTF to WOFF2 Converter

Convert OpenType fonts to WOFF2, the format every current browser prefers. Real Google woff2 compression, usually 40–60% smaller. Everything runs in this tab – your font is never uploaded.

Drop OTF files here, or click to choose

.otf files · up to 20 MB each · several at once is fine

The conversion runs on your own device. No file is sent to this site or anywhere else, and nothing is stored.

    How to use this tool

    1. Drop your OTF file onto the box above, or click it and pick one. You can convert several fonts in one go.
    2. Wait for the bar to finish. A normal text font takes well under a second; a large CJK font can take a few seconds because it is doing real compression, not a rename.
    3. Check the saving. Each row shows the original size, the WOFF2 size and the percentage cut.
    4. Download the .woff2 and put it wherever your CSS expects it.
    5. Write the CSS with the @font-face generator, which produces the rule that loads the file you just made.

    What WOFF2 actually is

    WOFF2 is not a new kind of font. It is your existing OTF wrapped in a container that has been through two transforms: the glyph tables are rearranged into a form that compresses better, then the whole thing is Brotli-compressed. The browser undoes both when it loads the file, and what it ends up with is the font you started with – same glyphs, same metrics, same kerning.

    That is why the saving is so large and so safe. A typical Latin text font drops from around 180 KB to 70 KB. Nothing is discarded to get there, which is the difference between converting a font and subsetting one.

    Do you still need the other formats?

    Almost certainly not. WOFF2 is supported by every browser released since about 2016 – Chrome, Edge, Firefox, Safari on both macOS and iOS, and Android. The old belt-and-braces stack of EOT, TTF, WOFF and SVG in one @font-face rule is a habit left over from Internet Explorer, and it costs you: browsers fetch the first format they understand, so listing extras mostly just clutters the stylesheet.

    A WOFF fallback is still reasonable if your analytics show meaningful traffic from very old browsers. For most sites in 2026, WOFF2 alone is the correct answer.

    Why do this in the browser?

    Because fonts are licensed. A commercial licence usually forbids redistributing the file, and uploading it to a stranger's server to be converted is a redistribution you probably did not intend and cannot audit. This page loads Google's woff2 encoder as WebAssembly and runs it in a background thread on your machine. There is no upload endpoint on this page to send a font to.

    Limits worth knowing

    • 20 MB per file. Above that the browser tab is the bottleneck, not the encoder.
    • Colour and bitmap fonts convert, but check them. CBDT/sbix tables survive the container change; they are just rarely worth serving on the web at their size.
    • This does not subset. Every glyph in the file comes out the other side. If your font covers scripts you never use, converting it will not remove them – that is a separate job.
    • Already-WOFF2 files are rejected. Re-compressing one gains nothing, so the tool tells you rather than pretending to work.

    Need the other direction of the same job? TTF to WOFF2 uses the same encoder. To see what is inside a font before you convert it – glyph count, licence, Unicode coverage – use the font analyzer. And if you are here for styled letters to paste into a bio rather than a font file, the font generator is the page you want.

    Frequently asked questions

    No. The encoder runs as WebAssembly inside your browser tab. The file is never sent to this site or anywhere else, and nothing is stored.

    Mostly the outline format inside. An OTF usually carries CFF (PostScript) curves and a TTF carries quadratic TrueType curves. WOFF2 handles both, so the conversion and the tool are identical - the two pages exist because people search for the two things separately.

    Typically 40-60%. CFF outlines were already fairly compact, so the saving on an OTF is sometimes slightly lower than on the equivalent TTF, but it is still substantial.

    Yes. Nothing is redrawn or discarded. WOFF2 is a compressed wrapper around the same font data, and the browser unwraps it before use.

    Yes. Ligatures, alternates, small caps and every other GSUB/GPOS feature are part of the font data and come through untouched. You can confirm which features a file carries with the font analyzer.

    Yes. Variable fonts convert normally and keep all their axes. That is usually the single biggest web font saving available, since one variable file can replace a whole family of static weights.