WOFF2 (Web Open Font Format 2)
The web's sharpest font format packs typefaces up to 30% smaller than its predecessor using Brotli compression.
| Full name | Web Open Font Format 2 |
| Extension | .woff2 |
| MIME type | font/woff2 |
| Developer | W3C WebFonts Working Group (with key contributions from Google engineers including Jyrki Alakuijala and Zoltan Szabadka) |
| Released | 2014 (first public draft); W3C Recommendation March 2018 |
| Type | Font container format |
| Compression | Brotli |
| Based on | TrueType / OpenType / Open Font Format tables |
What is a WOFF2 file?
WOFF2 is a font file format built for the web. It wraps standard font data in a compressed container that browsers can download and render quickly. Every major browser has supported it since 2016.
WOFF2 is a container format, not a new font technology. It takes the same TrueType or OpenType tables that desktop fonts use and compresses them with Brotli. The result is a single file that browsers can load over HTTP and apply to text on a page. Compared to raw OTF or TTF files, WOFF2 files are typically 30% smaller than WOFF1 files and 60-70% smaller than the original uncompressed font.
History
The W3C published the first draft of WOFF 1.0 in 2009, created by Jonathan Kew, Tal Leming, and Erik van Blokland. Google engineers, notably Jyrki Alakuijala and Zoltan Szabadka, drove the WOFF2 specification, replacing zlib compression with their Brotli algorithm for much better ratios. The W3C WebFonts Working Group ratified WOFF2 as a full Recommendation on 1 March 2018, with Google providing the reference implementation.
How it works
A WOFF2 file starts with a header that records the font's original format, version, and number of tables. Each font table from the underlying TrueType or OpenType font is listed in a table directory, and the combined table data is compressed as a single Brotli stream. On download, the browser decompresses that stream and reconstructs the font tables in memory for rendering. The format also supports font collections, allowing multiple fonts to share a single WOFF2 file.
What it is used for
- Serving custom typefaces on websites with minimal bandwidth cost
- Embedding brand or icon fonts in web apps and progressive web apps
- Replacing older TTF or WOFF font references to speed up page load times
- Distributing variable fonts for responsive typography across device sizes
How to open it
Web browsers open WOFF2 files automatically when they are referenced in CSS font-face rules. To inspect or edit the font data, tools like FontForge, Glyphs, or online converters can read and export WOFF2 files.
Pros and cons
Strengths
- Up to 30% smaller than WOFF1 and 60-70% smaller than raw TTF/OTF, reducing page weight
- Supported by all modern browsers including Chrome, Firefox, Safari, and Edge
- Brotli compression is fast to decompress, so rendering is not noticeably delayed
- Supports variable fonts, allowing a single file to cover multiple weights and styles
Trade-offs
- Not supported in Internet Explorer (IE11 and below require WOFF or EOT fallbacks)
- Cannot be used directly as a desktop font without converting back to TTF or OTF
- Brotli decompression adds a small CPU cost compared to uncompressed formats
- Binary format is not human-readable, making manual inspection or editing difficult
Convert WOFF2 files
Free, in your browser, no signup. Start at the WOFF2 converter, or jump straight to a popular conversion below.
Curious how fast and how small? See our measured conversion benchmarks.
WOFF2 FAQ
Is WOFF2 the same as WOFF?
No. WOFF2 is a separate, newer format. It uses Brotli compression instead of the zlib compression in WOFF1, achieving significantly smaller file sizes. The two formats are not interchangeable, though most font services provide both.
Can I use WOFF2 without a web server?
Yes. Browsers can load WOFF2 files from local disk during development. In production, the file just needs to be served with the correct MIME type font/woff2 so browsers accept it.
Do I still need TTF or OTF if I have WOFF2?
For web use, no. All modern browsers support WOFF2 directly. You only need a TTF or OTF fallback if you must support very old browsers, or if the font also needs to work as a desktop typeface.
How do I convert an existing font to WOFF2?
You can use an online converter, the command-line tool woff2_compress from Google's open-source woff2 library, or font editors like FontForge. Most font generation pipelines include WOFF2 output as a standard step.