b2KIT

WOFF2 / WOFF / TTF Font Converter

Convert between WOFF2, WOFF, and TTF font formats for web and desktop use.

Tested tool guide Tested browser tools Checked August 16, 2026

What WOFF2 / WOFF / TTF Font Converter does and how it behaves

Drop in a .woff2, .woff, or .ttf font file and this tool repacks it into one of the other two formats, working entirely in the browser so the font never leaves your machine. WOFF and WOFF2 are compressed wrappers around the same sfnt table data that TTF stores uncompressed; converting between them unpacks or repacks those tables without touching glyph outlines, hinting, or metrics. What surprises people most: this is a container swap, not an optimizer. It won't subset glyphs, strip unused tables, or fix a font's embedding license - a font you weren't licensed to use on the web stays unlicensed after conversion, and a bloated font stays roughly as bloated.

How the result is produced

1

Container unwrap and repack

TTF (and OTF) store font data as a set of sfnt tables - glyf, loca, cmap, hmtx, name, and others. WOFF wraps those tables with per-table zlib compression plus an optional XML metadata block; WOFF2 wraps them with whole-font Brotli compression and a more compact table directory. Converting reads the source container, extracts its tables, and re-wraps them under the target format's header and compression scheme.

2

Lossless for standard tables

Because glyph outlines and metrics are copied rather than regenerated, the rendered appearance of the font does not change between formats. Less common tables - color glyph data, variable font axes, embedded bitmaps - depend on the converter recognizing them correctly; an unrecognized table can be dropped, so check a converted variable or color font in a viewer before treating the conversion as complete.

Good uses

  • You have a desktop TTF from a foundry or Google Fonts and need a WOFF2, plus a WOFF fallback, for a @font-face declaration.
  • You received a WOFF2 web font asset and need a TTF so you can open it in FontForge, Glyphs, or a system font installer.
  • You're auditing a site's font assets and want to confirm a shipped WOFF2 actually contains the same glyph set as the TTF it was supposedly built from.

Limits and checks

  • Converting a font does not change its license. A WOFF2 built from a TTF you weren't licensed to embed on the web is still unlicensed after conversion - check the foundry's EULA separately.
  • This is a format conversion, not a subsetting or hinting tool. It won't remove unused glyphs or restrict the font to a character set, so a converted WOFF2 can still be large if the source TTF carries a full glyph set, CJK coverage, or unused OpenType features.
  • Variable font axis tables (fvar, gvar) and color tables (COLR/CPAL, sbix) aren't guaranteed to round-trip through every conversion path. Verify a converted variable or color font still renders and animates correctly before deploying it.

Common questions

Will converting to WOFF2 make my font file smaller?

Usually, since WOFF2's Brotli compression is tighter than TTF's uncompressed tables or WOFF's zlib compression, but the exact savings depend on the font's internal structure. It won't get you the smaller file a subsetted, characters-only WOFF2 would, because no glyphs are removed.

Can I convert a WOFF2 back into a TTF I can actually edit?

Yes. Decompression reconstructs the original sfnt tables, so the resulting TTF opens normally in editors like FontForge or Glyphs. What you get back is whatever was in the WOFF2's tables - if that file was already subsetted or missing glyphs, the TTF will be too.

References and verification

The behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools