WOFF MIME Type

Learn what font/woff identifies, how WOFF packages web fonts, how to serve or convert it, and what Poly supports.

MIME type details for font/woff

In active use
MIME typefont/woff
Extensions
.woff
Magic number77 4F 46 46 / wOFF
Alternate versions
application/font-woff
First standardized2012
Created byW3C WebFonts Working Group
Browser supportChrome, Edge, Firefox, Opera, Safari
Example applicationsGoogle Chrome, Mozilla Firefox
Poly supportPartial. Poly recognizes font/woff and .woff files and can store, sync, share, and version them, but does not unpack or inspect their font tables.
Indexed by PolyPartial. WOFF files are searchable by filename and ordinary file properties, but family names, glyph coverage, licensing metadata, and font contents are not indexed.
Preview in PolyNo. Poly does not render a font specimen or generate a WOFF thumbnail; download the file or use it from a web page to inspect it.
Poly agentNo. The Poly agent cannot read the packaged glyphs, names, layout features, metadata block, or other contents of a WOFF file.

What does font/woff mean?

The font/woff media type identifies a Web Open Font Format 1.0 file. WOFF is a web-delivery wrapper around an existing table-based sfnt font, usually TrueType or OpenType. It stores the same font tables in a web-oriented container and may compress each table. A conforming decoder restores font data that renders identically to the well-formed input font.1

That distinction matters. WOFF does not define a new kind of glyph outline or add typographic features by itself. Converting an OpenType font to .woff changes its packaging, while subsetting, changing hinting, or removing tables are separate operations performed by the conversion tool.

WOFF was designed for fonts linked from web pages with CSS@font-face. The W3C specification says it should not be treated as a system-installable desktop font format. Keep the original .ttf or .otf when you need an installable or editable master.1

How to identify a WOFF file

A WOFF 1.0 file begins with the four-byte signature 77 4F 46 46, which reads wOFF in ASCII. Its 44-byte header records the underlying sfnt flavor, total file length, table count, restored font size, version, and offsets to optional metadata and private-data blocks.1

The registered extension is .woff. The current MIME type is font/woff, with no required or optional parameters. The older application/font-woff registration is a deprecated alias, not a different WOFF version. RFC 8081 moved WOFF into the dedicated font top-level media type in 2017.23

Do not identify the format from its suffix alone. A validator can check the signature, table offsets, lengths, padding, checksums, and compressed data before a font reaches a browser or conversion pipeline.

Where WOFF came from

WOFF began as a collaboration among browser and type developers. Jonathan Kew of Mozilla, Tal Leming of Type Supply, and Erik van Blokland of LettError authored the W3C specification. After early implementation and a member submission, the W3C WebFonts Working Group developed it into the WOFF 1.0 Recommendation published on December 13, 2012.14

The goal was practical web-font delivery. WOFF could package existing TrueType and OpenType fonts without changing how they render, reduce transfer size through per-table compression, and carry optional metadata such as licensing information. It also gave web font resources a recognizable format for CSS and HTTP.1

The font/woff label arrived later. The original registration used application/font-woff. RFC 8081 registered the font top-level type in February 2017 and deprecated that older label in favor of font/woff.2

How to use a .woff file in a browser

Current Chrome, Edge, Firefox, Opera, and Safari can load WOFF through CSS @font-face. MDN also notes that WOFF works in older browsers as far back as Internet Explorer 9, although WOFF2 should normally come first in a modern source list.5

@font-face {
  font-family: "Example Sans";
  src:
    url("/fonts/example-sans.woff2") format("woff2"),
    url("/fonts/example-sans.woff") format("woff");
  font-display: swap;
}

Serve the .woff response with Content-Type: font/woff. If the font is hosted on another origin, configure the appropriate cross-origin response headers. A browser chooses the first source it supports, so put the preferred WOFF2 file before the WOFF fallback.5

Test the page with the exact weights, styles, languages, and OpenType features it uses. A font file can load successfully while still lacking a required character or feature.

Support in Poly

Poly recognizes .woff filenames and maps them to font/woff. It can store, sync, share, version, download, and find the file by name. The shared MIME schema classifies WOFF as an unknown media category, however, so it follows the generic-file path rather than a font-specific processor.

In practice:

  • Poly does not decompress the WOFF container or parse its font tables, metadata block, or private-data block.
  • Search covers the filename and ordinary file properties. It does not index family and style names, character coverage, glyphs, variation axes, layout features, or license records.
  • Poly does not generate a specimen, glyph map, thumbnail, or in-app font preview.
  • The Poly agent can use the file's identity and basic properties, but cannot inspect or reason about its packaged font content.

Download the file and inspect it with a trusted font tool, or load it from a test web page, when you need to verify how it renders.

WOFF, WOFF2, TTF, and OTF compared

These formats are closely related, but their usual jobs differ.

FormatMIME typeExtensionTypical role
WOFF 1.0font/woff.woffCompressed web packaging with optional XML metadata
WOFF2font/woff2.woff2Newer web packaging with font-aware transforms and Brotli compression
TrueTypefont/ttf.ttfInstallable or source sfnt font, normally with TrueType outlines
OpenTypefont/otf.otfInstallable or source sfnt font, commonly with CFF or CFF2 outlines

WOFF 1.0 uses zlib compression on individual font tables when compression makes a table smaller. WOFF2 adds format-aware preprocessing and Brotli compression to reduce network transfer further. The W3C describes WOFF2 as an improvement developed from experience with the widely deployed WOFF 1.0 format.16

WOFF and WOFF2 are distinct containers. They have different signatures, extensions, MIME types, and CSS format hints. Renaming .woff to .woff2 does not convert it.

Converting WOFF files

Choose the direction based on where the font will be used:

  • WOFF to WOFF2: useful for modern web delivery. Convert from the original .ttf or .otf master when possible, then test the result rather than merely changing the suffix.
  • WOFF to TTF or OTF: useful for inspecting the restored sfnt data, but the correct extension depends on the font's outline flavor. A web-font license may prohibit desktop installation or redistribution.
  • TTF or OTF to WOFF: useful as a fallback for older browser targets. A conforming wrapper preserves the input font tables, but a converter may also offer separate subsetting or table-removal features.
  • WOFF to images or PDF: appropriate for a fixed specimen or proof. The output is no longer a reusable font.

Keep a source font and record the converter and settings. Repeatedly unpacking and repackaging should not redesign glyphs, but a tool that subsets or drops tables can make a materially different font.

Security, privacy, and licensing

Treat an untrusted WOFF file as input to a complex font parser. The WOFF specification requires strict validation of lengths, offsets, overlaps, compressed output sizes, and checksums. RFC 8081 also warns that font hinting instructions can behave like executable code and that malicious fonts may consume excessive memory or CPU.12

Load fonts only from sources you trust, keep browsers and font tools updated, and validate a file before converting it. WOFF packaging does not make unsafe underlying font data harmless.

WOFF can carry an optional compressed XML metadata block and arbitrary private data. Neither WOFF nor the broader font media type provides confidentiality, so inspect those areas before publishing an internal font. The metadata can help communicate licensing terms, but it does not grant rights by itself.12

A desktop font license may not allow web embedding, conversion, subsetting, or redistribution. Confirm the license before serving the font, even when the file is technically valid.

Footnotes

  1. World Wide Web Consortium. WOFF File Format 1.0. W3C Recommendation, December 13, 2012. 2 3 4 5 6 7 8
  2. Lilley, C. RFC 8081: The font Top-Level Media Type. Internet Engineering Task Force, February 2017. 2 3 4
  3. Internet Assigned Numbers Authority. font/woff Media Type Registration.
  4. World Wide Web Consortium. WOFF File Format 1.0 Publication History.
  5. MDN Web Docs. Web Fonts. 2
  6. World Wide Web Consortium. WOFF Standards and Drafts.
© Poly Corp. 2026