Web-font pack

Everything needed to put a font on a site, generated locally and delivered as a single ZIP: a WOFF2 file, an optional WOFF fallback, an @font-face rule with the right format() keywords and the font's real unicode-range, a <link rel="preload"> snippet, and a manifest recording exactly what was produced from what.

Drop the font you want to deploy.

The pack is built in this tab and downloaded as a ZIP. Nothing is uploaded.

Files are read and processed in this browser tab. Nothing is uploaded — the page’s Content-Security-Policy blocks connections to any other origin.

The CSS is generated from the font, not from a template

The font-family name comes from the font's own typographic family record. The font-weight and font-style come from OS/2 and the macStyle bits. The unicode-range is compacted from the actual cmap coverage of the file that was produced, after any subsetting. If you subset to Latin, the CSS says so, and browsers will skip the download on pages that need none of those characters.

font-display and preload are decisions, not defaults

The generated rule uses font-display: swap, which shows fallback text immediately and swaps when the font arrives. That is the right default for body text and the wrong one for a logo. The preload snippet is offered separately because preloading every font on a page makes the page slower, not faster — it is for the one font that renders above the fold.

Related

  • Subsetter

    Subset fonts in your browser with HarfBuzz hb-subset. Keep pasted text, whole Unicode blocks or standard web ranges. Layout closure is preserved and licence strings are kept.

    Open
  • TTF to WOFF2

    Compress TTF or OTF fonts to WOFF2 in your browser using the reference Google encoder. Batch queue, @font-face CSS, preload snippet and ZIP. No upload, no server.

    Open
  • Glyph coverage

    See exactly which characters a font covers, grouped by Unicode block. Paste text to find missing characters before they render as tofu, and export a CSS unicode-range.

    Open