Font conversion and inspection that never uploads your files

Glyph Batch is a font workshop that runs inside the browser tab you are reading this in. Drop in a queue of TrueType, OpenType, WOFF or WOFF2 files and it converts, inspects, previews and subsets them locally — no upload, no server, no account, no analytics on your font data. Every file it produces is read back through the same parsers before you are offered a download link.

Conversions that work

  • WOFF2 to TTF

    Decode WOFF2 web fonts back to installable TTF/OTF in your browser. Uses the reference Google WOFF2 decoder, preserves every table, and verifies the result. Nothing is uploaded.

    Convert
  • 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.

    Convert
  • WOFF to TTF

    Unwrap WOFF 1.0 web fonts back to TTF/OTF in your browser. WOFF 1 is a pure container, so the result is table-for-table identical. Nothing is uploaded.

    Convert

Inspection and preparation

  • Inspector

    Read everything inside a font file in your browser: family and PostScript names, version, copyright and licence text, OS/2 embedding permissions, variation axes, colour tables and the full table directory.

    Open
  • Previewer

    Preview fonts with your own sample text, sizes, weights, colours and variable-font axis sliders. Rendered by the browser's own FontFace API, so it matches what your visitors will see.

    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
  • 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
  • Web-font pack

    Turn a font into a deployable web-font pack in your browser: WOFF2 and WOFF files, a correct @font-face rule with unicode-range, a preload snippet and a manifest, all in one ZIP.

    Open

What it does

Batch container conversion between TrueType/OpenType, WOFF 1.0 and WOFF2, with a queue you can reorder, pause, stop, cancel and retry per file.

A metadata inspector that reads every name record, the OS/2 embedding permission bits, variation axes, colour tables and the full table directory.

A preview that loads the font through the browser's own FontFace API, so what you see is what a visitor to your site would see.

A glyph coverage view with per-Unicode-block counts, a missing-character test and unicode-range export.

A subsetter built on HarfBuzz's hb-subset, and a web-font pack that emits WOFF2, WOFF, @font-face CSS and a preload snippet in a single ZIP.

What it deliberately does not do

It does not convert outlines between the TrueType (quadratic) and CFF/PostScript (cubic) curve models. That is what a real "OTF to TTF" conversion requires, and this build does not implement it. Rather than rename bytes and hope, those two routes are held and say so.

It does not upload anything. There are no API routes, no server actions and no third-party requests in the conversion path — the Content-Security-Policy on every response restricts connections to this origin, so the promise is enforced by the browser rather than by a paragraph like this one.

Reference

  • Formats

    A precise guide to the four font formats: what a container is, what an outline model is, why OTF to TTF is a real conversion and TTF to WOFF2 is not, and which format to ship.

    Read
  • Licensing

    What OS/2 fsType embedding bits mean, why converting a font grants you nothing, and how to check whether you may subset or web-embed a font you own.

    Read
  • Privacy

    Glyph Batch processes fonts entirely in your browser. No file is uploaded, no font name or metadata is recorded, and the Content-Security-Policy enforces it.

    Read