{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

{{ badge.label }} {{ badge.value }}
{{ summaryAnnouncement }}
Font conversion inputs
The file stays in this browser tab. Drop a `.ttf` or `.otf` file, browse, or load the included open sample.
{{ dropzoneTitle }}
Drop one `.ttf` or `.otf` file here, or browse from your device.
{{ fileError || fileMeta }}
The bundled inspection sample provides a safe way to review the workflow before using your own font.
This confirmation records your decision only. The result ledger reports embedded signals but does not grant permission.
{{ authorizationConfirmed ? 'Permission confirmed' : 'Confirmation required' }}
Choose a deployment-friendly name. The `.woff2` extension is enforced.

{{ workflowMessage }}

The neutral default keeps the ledger concise. Turn this on to include preserved, optional, and removed table tags.
{{ technicalDetail ? 'Detailed inventory included' : 'Concise ledger' }}
{{ packageExportStatus }}
{{ artifactSummary }}
Source{{ formatBytes(computation.values.input_byte_count) }}
WOFF2{{ formatBytes(computation.values.output_byte_count) }}
Reduction{{ formatPercent(computation.values.reduction_percent) }}
Glyphs{{ computation.values.glyph_count.toLocaleString() }}
{{ chartExportStatus }}

The chart renderer is unavailable. The package and ledger remain usable.

CheckObservedOutcomeCopy
{{ row.label }}{{ row.value }}{{ row.status }}
{{ tableExportStatus }}

Introduction:

A font file is both a technical asset and licensed creative work. Before changing its format for a website, confirm that the license permits the conversion and intended web use. A flag embedded in the font can provide an important clue about document embedding, but it is not a substitute for the font's end-user license or permission from its owner.

WOFF2 is a web-font container built to compress OpenType font data for delivery to browsers. It does not redraw letters or turn a typeface into a different design. A correct conversion preserves the information needed to map characters to glyphs, position those glyphs, apply metrics and layout features, and reproduce variable or color behavior supported by the source.

  • Glyph outlines describe the shapes that are drawn.
  • Character mapping connects Unicode code points to glyphs.
  • Metrics and layout tables control advance widths, positioning, substitutions, kerning, and related typography.
  • Variation axes describe adjustable dimensions such as weight or width in a variable font.
  • Name and license records carry family names and any terms embedded by the vendor.

Smaller transfer size can improve web delivery, but size alone is weak evidence. A tiny output is useless if characters disappear, spacing changes, variable axes are lost, or the file no longer parses. Reliable conversion therefore needs a round trip: create WOFF2, decompress it, and compare the reconstructed font with the original.

This workflow converts a complete TrueType or OpenType/CFF font. It does not subset characters, combine a font collection, repair malformed fonts, or decide legal permission. If a site needs only a small language set, subsetting is a separate operation that requires its own license check and coverage testing.

Keep the original font as the master asset. Deploy WOFF2 as a delivery copy, declare the matching weight and style in CSS, retain sensible fallback fonts, and test real text in the browsers and scripts the site supports.

How to Use This Tool:

Confirm rights first, then convert one complete font and review the preservation evidence before deployment.

  1. Choose one Source font with a .ttf or .otf extension. The file must be a TrueType or OpenType/CFF font no larger than 5 MiB; collections, existing WOFF files, Type 1 fonts, and bitmap-only fonts are not accepted.
  2. Read the font license, then enable Permission to convert and use this font only when you have that right. The confirmation records your decision and does not grant a license.
  3. Enter a deployment-friendly Output filename. Unsafe path characters are removed and the .woff2 extension is enforced.
  4. Start conversion and review glyphs, Unicode coverage, metrics, variation axes, optional feature tables, license signals, and size change. Download only after the result is marked verified.

Interpreting Results:

Verified means the WOFF2 header is internally consistent, the output can be decompressed, and the reconstructed font matches the checked source properties. It is stronger than checking the filename or signature alone.

Review glyph and Unicode counts together. Glyph count includes shapes that may not have a direct Unicode mapping, while mapped code points show the character coverage found in the selected cmap table. Matching counts and the character-map fingerprint show that the conversion did not lose or reassign the checked coverage.

A negative reduction percentage means the WOFF2 file is larger than the source. That can happen with a small or already compact font and is not a preservation failure. Decide whether the delivery format is still useful, then test the downloaded face through CSS rather than relying only on structural checks.

Technical Details:

TrueType and OpenType/CFF fonts use an sfnt table directory. Required tables identify the font, map characters, define horizontal metrics, and describe glyph outlines. Optional tables add hinting, advanced layout, color glyphs, variable axes, and other behavior. WOFF2 compresses this structured data while retaining the font flavor needed to reconstruct it.

Formula Core

Displayed reduction compares the generated WOFF2 byte count with the source byte count. Positive values mean fewer bytes; negative values mean the output grew.

Reduction percent = Bsource-BWOFF2 Bsource × 100

A 400,000-byte source that becomes 160,000 bytes reports a 60% reduction. A 50,000-byte source that becomes 55,000 bytes reports -10%, meaning the delivery copy is 10% larger.

Transformation Core

Font conversion and verification stages
Stage What is checked Why conversion stops
Parse source sfnt flavor, table directory, required tables, outlines, metrics, names, character mapping, and optional features Unsupported flavor, missing or overlapping table, malformed mapping, or invalid metric bounds
Encode WOFF2 Complete source bytes are compressed without subsetting. Encoder is unavailable or output is empty or beyond the 10 MiB output limit
Check container wOF2 signature, declared length, reserved field, table count, decompressed size, and compressed size Header fields are inconsistent with the generated bytes
Decompress The WOFF2 output reconstructs an sfnt font that can be parsed again. The compressed result cannot be decoded into a valid font
Compare Flavor, table inventory, glyphs, metrics, character map, names, license records, axes, and feature-table inventories Any checked property differs from the source

Preservation Rules

Font data preserved during WOFF2 verification
Font data Exact comparison
Required sfnt tables OS/2, cmap, head, hhea, hmtx, maxp, name, and post must be present, plus TrueType or CFF outlines.
Glyphs and characters Glyph count, selected Unicode mapping count, and a fingerprint of mapped code points must match.
Metrics Horizontal metric count, units per em, and the font bounding box must match.
Names and licensing Family, subfamily, full name, license description, license URL, and fsType must match.
Optional behavior Variation-axis tags and the inventories of hinting, layout, and color tables must match.
Digital signature DSIG may be removed during WOFF2 conversion; other source table tags must be preserved.

Character coverage is read from a supported Unicode cmap format 4 or 12 subtable. The structural comparison does not render every glyph, shape every script, or test every browser, so a real CSS loading and text-rendering check remains necessary.

License and Privacy Notes:

The font stays in the browser tab during conversion and is not uploaded to a font-conversion service. Supporting code may need to load before encoding begins.

  • The fsType value describes embedding permissions recorded inside an OpenType font. It does not cover every web-font license term or prove that the record is correct.
  • Restricted, preview-and-print, editable, no-subsetting, and bitmap-only signals should prompt a license review before deployment.
  • The permission switch records your confirmation only. It neither changes embedded restrictions nor grants additional rights.

References: