whatisgithub

What is glyphhanger?

zachleat/glyphhanger — explained in plain English

Analysis updated 2026-08-03 · repo last pushed 2026-06-08

897JavaScriptAudience · developerComplexity · 2/5MaintainedSetup · moderate

In one sentence

Glyphhanger shrinks web font files to only the characters your website actually uses, so pages load faster with minimal manual effort. It also converts fonts between formats for cross-browser compatibility.

Mindmap

mindmap
  root((repo))
    What it does
      Trims font files
      Finds used characters
      Converts font formats
    How it works
      Scans site text
      Subsets font files
      Sets unicode-range
    Use cases
      Faster blog fonts
      Mobile performance
      Trim large fonts
    Tech stack
      JavaScript
      CLI utility
    Audience
      Web developers
      Site owners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Shrink a blog's custom font files so mobile users on slow connections load pages faster.

USE CASE 2

Trim a multi-language font down to only the characters your site actually uses.

USE CASE 3

Convert web fonts between formats for better cross-browser compatibility.

USE CASE 4

Generate unicode-range values automatically so browsers load the right font file per character.

What is it built with?

JavaScriptNode.jspyftsubset

How does it compare?

zachleat/glyphhangergithub/safe-settingsyyx990803/vite-vs-next-turbo-hmr
Stars897880931
LanguageJavaScriptJavaScriptJavaScript
Last pushed2026-06-082026-06-182023-02-16
MaintenanceMaintainedMaintainedDormant
Setup difficultymoderatehardeasy
Complexity2/54/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Node.js and may need Python fonttools (pyftsubset) installed as an external dependency for font subsetting.

No license information is provided in the README, so default copyright restrictions apply and you should check the repository for license details.

So what is it?

Glyphhanger is a tool that helps websites load faster by shrinking font files down to only the characters a site actually uses. Most web fonts ship with hundreds or even thousands of glyphs covering every possible character in a language. But if your site only uses basic English letters and a handful of punctuation marks, you are forcing visitors to download a lot of unnecessary data. This utility trims the fat, so to speak, keeping only what you need. At a high level, the tool works by looking at your website's actual text content and figuring out exactly which characters appear. Then it subsets your font files, meaning it creates a new, smaller version of those files containing only that specific set of characters. It also automatically determines the right unicode-range values, which are bits of code that tell the browser which font file to use for which characters. This is especially handy if you want to serve a tiny font for most of your text but still keep the full font around for rare characters. This is useful for web developers, site owners, or anyone responsible for a website's performance. For example, if you run a blog with a stylish custom font, you could use this to cut your font file sizes dramatically, making pages load faster for mobile users on slow connections. It is also helpful if you use a font with extensive language support but only need a small slice of it. Instead of manually picking characters or writing configuration files, you point the tool at your site and let it figure out the trimming automatically. The project is built in JavaScript and is described as a "utility belt" for web fonts. Beyond subsetting, it can also convert fonts between formats, which helps with cross-browser compatibility. The README does not go into deeper detail on the exact workflow, but the core promise is straightforward: smaller fonts and faster websites with minimal manual effort.

Copy-paste prompts

Prompt 1
Help me install and use Glyphhanger to subset my web fonts. My site is at https://example.com and I want to create smaller WOFF2 font files containing only the characters my site uses.
Prompt 2
I have a TTF font file with full language support but my site only uses basic English letters and punctuation. Walk me through using Glyphhanger to trim it down and generate the correct unicode-range CSS.
Prompt 3
Show me how to use Glyphhanger to convert my OTF font to WOFF and WOFF2 formats for cross-browser compatibility, and explain what CSS I need to add to my stylesheet.
Prompt 4
My website is loading slowly because of large font files. Guide me through using Glyphhanger to scan my site, subset the fonts, and set up the @font-face declarations with proper unicode-range values.

Frequently asked questions

What is glyphhanger?

Glyphhanger shrinks web font files to only the characters your website actually uses, so pages load faster with minimal manual effort. It also converts fonts between formats for cross-browser compatibility.

What language is glyphhanger written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, pyftsubset.

Is glyphhanger actively maintained?

Maintained — commit in last 6 months (last push 2026-06-08).

What license does glyphhanger use?

No license information is provided in the README, so default copyright restrictions apply and you should check the repository for license details.

How hard is glyphhanger to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is glyphhanger for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.