PixelOkay
Tools
PIXELOKAY · FONT TOOLS

Font Subsetter

Keep the characters your project actually uses. Inspect coverage, generate smaller font files with HarfBuzz WebAssembly, and copy deployment-ready CSS — entirely in your browser.

● Local font processingTTF, OTF & WOFF1 inputWOFF outputNo account
01

Choose a font

Drop a TTF, OTF or WOFF1 font hereSingle-face fonts · maximum 25 MiB · no WOFF2
Ag
No font selected

Choose a TTF or OTF font to inspect its character coverage.

02

Characters to keep

Combine any sources
Include character sets

Examples: U+0041-005A, U+20AC. Up to 20,000 unique Unicode scalars. Unavailable characters are reported, never synthesized.

Selected0
Supported0
Missing0

—

—
03

Subset settings

Subsetting can affect complex-script shaping and ligatures. Test your actual content before deployment. Self-hosted HarfBuzz is preferred; the optional engine download may require network access (~600 KB).

Ready. Fonts stay in this browser tab.

Live typography preview

Compare original and reduced fonts

Load a font to check preview coverage.
ORIGINALSource
The quick brown fox jumps over the lazy dog. 0123456789
SUBSETGenerated
The quick brown fox jumps over the lazy dog. 0123456789

Preview may use browser fallback glyphs, especially for complex scripts. Check coverage and test sample text before shipping.

Made for responsible web fonts

Use a subset for websites, logos and fixed UI text. Always retain your original font. New characters require regenerating the subset.

Why subset a font?

Most font files include thousands of glyphs, even when a website only needs a small alphabet. Subsetting keeps required glyphs and font tables to reduce transfer size. PixelOkay checks which Unicode code points exist in the source and validates that those characters still map to glyphs in the output. Savings vary: a small or highly optimized font may not shrink.

How to use Font Subsetter

  1. Choose a TTF/OTF/WOFF1 font you have permission to use.
  2. Enter text or select Unicode presets and ranges. Review missing characters.
  3. Select WOFF for web use or native font format, then generate.
  4. Compare previews and download the font plus its matching @font-face CSS.

Using Font Subsetter

Choose Unicode coverage and optional variable-font axes, request local HarfBuzz subsetting, and review the exported font candidate and supporting CSS or report.

Workflow

  1. Open a supported font and select the Unicode characters or ranges to retain
  2. choose optional axis pins and hint settings, then request subsetting
  3. review the candidate and export the font, CSS and JSON report for independent testing.

Example

Select a small Latin character set from a font, pin a variable axis if appropriate, request a subset and compare the generated font in the target application before distribution.

Limits and data handling

The pinned HarfBuzz runtime assets are present, but real execution and output shaping remain unverified. A first-use external fallback is optional and disabled by default; availability and integrity are not guaranteed. Font size and character selections are bounded. WOFF2 is unsupported. Respect font licensing; metadata declarations do not grant redistribution rights. Verify complex scripts, variable axes and actual WOFF round trips independently.

FAQs

Does a generated subset guarantee all text will render correctly?

No. Test shaping and coverage in the target software, especially for complex scripts and variable fonts.

Does the font metadata grant redistribution rights?

No. Check the font’s actual license and permissions before sharing a subset.

Related tools