Every open-source font, on every machine that needs it.
Search two thousand families, read your own sample text in each face, and take whole families or single weights to a checkout that downloads as one zip (the entire catalogue if you like, streamed to disk). Or hand it a list. The desktop app installs the fonts itself, at login, from a folder or a network share.
An early preview. The browser version downloads; installing needs the desktop app, which is this same page plus a tray, a login item, a watched folder and network sources.Nothing you do here is sent anywhere except where the fonts come from: GitHub and jsDelivr for the files, and Google Fonts for the preview on each card. The files are the complete originals from the google/fonts repository and Fontsource, never the subsetted web versions.
The catalogue with a two-family search, one family in the checkout and its weights opened; every card renders the sample text in the actual face.
What it does
01
The real files, not the web versions
The point of it
The Google Fonts CSS API serves woff2 cut down by unicode-range (one file for Latin, another for Cyrillic), and a browser can't ask it for anything else. A subsetted font installs without complaint and then renders blanks for the first character outside its subset. So the files come from the google/fonts repository itself, complete, with jsDelivr as a mirror for when GitHub rate-limits a bulk pull, and the CSS API is used for one thing only: the preview line on each card, where a small subsetted file is exactly right.
02
Two catalogues, one search
Every Google Fonts family, plus the hundred-odd Fontsource carries that Google doesn't (Adwaita, Aileron, Chunk Five). The Fontsource ones are kept only where the family has a single subset, because its files are subsetted too and a single-subset family loses nothing to it. Search by name or designer; filter by category, source, licence, script, variable axes and italics; sort by popularity, name or date added.
03
A zip that fits the whole catalogue
Two thousand families is about 2.2 GB and 4,400 files, which no browser tab can hold in memory as one archive. On Chrome and Edge the zip is streamed straight to disk as it's built, so the whole catalogue costs nothing; elsewhere it's built in memory and split into parts. Inside: one folder per family with its licence text, a manifest naming the source and licence of every file, and installer scripts for macOS, Windows and Linux that write to your own account.
04
Lists, and straight answers for the names it can't find
A CSV, an XML file or a plain list of names resolves against the catalogue, tolerating case, punctuation and a trailing style word, so Poppins-Bold finds Poppins. A name that isn't open source gets a stand-in where one exists (Carlito for Calibri, Arimo for Arial, Tinos for Times New Roman, the same widths so nothing reflows) and a plain “similar, widths differ” where it doesn't. Export the checkout back out as a list to hand to another machine.
05
Provisioning: one folder, every machine
The desktop app runs at login in the tray. Point it at a watched folder, a mounted SMB, NFS or WebDAV share, or a WebDAV URL directly, and on every pass it installs the font files it finds there and fetches whatever the lists there name. Lists are remembered by content hash and processed again only when they change; a file already in the font folder is never touched; nothing is ever removed. Headless --sync and --install exist for scripts and login hooks.
What to check before a show
01
Verified on macOS, then on Windows 11 and Ubuntu 24.04 VMs
On macOS: the browser zip with real downloads, the list import, a cart install into a scratch font folder with CoreText registration, three headless sync passes, the provisioning panel and a WebDAV source with basic auth. Then the installers the release workflow builds went onto a Windows 11 VM and an Ubuntu 24.04 VM: silent install, a headless install that put the files in the per-user font folder and the registry values Windows expects (fontconfig on Linux), an install from the checkout in the running app, the login item on and off, and a background launch that stays in the tray. A real login with the item enabled, and a real SMB or NFS share, haven't been tried.
02
Nothing is ever overwritten
A font already in the folder under the same name is skipped. That's on purpose (on Windows an in-use font file can't be replaced anyway), and it means a new version of a font has to ship under a new filename.
03
The catalogue is a snapshot
Both catalogues are built into the app, because the Google metadata endpoint can't be read from a browser. A family added to Google Fonts after the snapshot isn't searchable until the next release; the files themselves are always fetched live.
Run your own copy
There's no container for OpenFont Manager (preview), so the hosted copy is the one to use.