File Formats
  • Audio
  • Video
  • Images
  • 3D & CAD
  • Documents
  • Data
  • Code
  • System
Documents
  • Page description
  • Word processing
  • Spreadsheets
  • Presentations
  • Ebooks
  • Text & markup
  • Fonts
  1. Home
  2. Documents
  3. Fonts
  4. WOFF2
.WOFF2
  • Overview

.WOFF2

Web Open Font Format 2.0

Introduction

WOFF2 is a compressed wrapper for TrueType and OpenType fonts, made for the web and published as a W3C Recommendation in 2018. It holds the same tables as the original font, compressed together with Brotli, and stores the glyph outlines in a transformed form that compresses better. A WOFF2 file is typically much smaller than the font it came from, and every current browser loads it through CSS @font-face.

The earlier WOFF 1.0, .woff, compressed each table separately with zlib.

Software

  • Every current web browser, through CSS @font-face
  • woff2, Google’s compressor and decompressor (command line)
  • fontTools (Python library)
  • FontForge (Windows, macOS, Linux)

Structure

A WOFF2 file is big-endian. It begins with a 48-byte header: the signature wOF2, the version of the original font, the total length, the number of tables, the size the font will have once decoded, the size of the compressed data, a version number, and the location of optional metadata and private data. A table directory follows, written compactly: one flags byte that usually names a known table tag, then lengths stored as variable-length numbers. Then comes a single Brotli stream holding every table, followed by the optional extended metadata, which is compressed XML, and private data.

  1. 0Header wOF2, flavour, lengths, table count, version48 bytes
  2. 48Table directory a flags byte and lengths for each tablevaries
  3. …Compressed font data every table in one Brotli streamvaries
  4. …Extended metadata, private dataoptional
The layout of a WOFF2 file.
© 2026 fileformats.org About Contact Made by Lewpen