The font manager Linux never got — and Windows & macOS make you pay for.
Preview, organize, activate and install fonts across all three desktop platforms,
from one clean, fast, native app. Your fonts never leave your machine.
⬇ Download · 🌐 Website · 💻 Source Code · 👤 The Developer
The library: every family rendered live, one toggle away from any app's font menu.
- Why ZFontManager?
- Feature tour
- Your whole library, rendered live
- Activate & deactivate — the killer feature
- Try a font before committing
- Installing fonts
- A trash can, not a shredder
- Organize: tags, collections, favorites, notes
- Find anything
- Compare fonts side by side
- The waterfall view
- Peek inside a font
- Export a specimen sheet
- The command palette
- Themes, sound & motion
- Back up your curation
- Keyboard shortcuts
- Getting ZFontManager
- Platform notes
- Privacy
- FAQ
- Building from source
- About the developer
- License
If you've ever worked with type on Linux, you know the drill: fonts live in scattered folders, previewing means opening each file one by one, and "managing" them means a terminal and crossed fingers. On Windows and macOS the situation is better — but the good tools cost real money.
ZFontManager is the answer to both:
- One app, three platforms. The same clean interface on Linux, Windows and macOS.
- Native and fast. Not a website in a box — it starts quickly, scrolls smoothly through hundreds of families, and feels at home on your desktop.
- Yours. Free, open source (GPL-3.0), no account, no cloud, no telemetry. Everything happens on your machine.
Note
ZFontManager is currently at version 0.1.0. It's already very usable day-to-day, but expect the occasional rough edge — and please report anything odd!
On first launch, ZFontManager scans the standard font locations on your system — both the system-wide ones and your personal user fonts — and builds your library automatically. You can add extra folders to watch in Settings, and the app notices when new fonts appear in them.
Every font family is shown in its own typeface, not as a generic name in a list. Type any sentence into the preview box at the top — your brand name, a headline you're working on — and the entire library re-renders in it instantly. A size slider takes the preview anywhere from small print to poster size.
Fonts with many weights and italics are grouped into a single family card. Expand the card and every style — Light, Regular, Bold, Black, the italics — renders live underneath.
Three views, switchable from the top bar:
| View | What it's for |
|---|---|
| Grid | Big, comfortable cards — the browsing view |
| List | Compact rows with style count, format and size — the overview |
| Waterfall | One family shown at every size at once — the type-nerd view |
This is what separates a font manager from a font viewer.
A huge font library is wonderful — until you open the font picker in your design app and have to scroll past 900 entries. Deactivating a font in ZFontManager removes it from other applications' font menus without uninstalling it. The files stay exactly where they are; the font just goes to sleep. Flip the toggle again and it's back.
- Toggle a single family with one click (or press Space)
- Select many families and activate/deactivate them all at once
- Deactivated fonts stay in your library, gently dimmed, ready to wake up
Each platform has its own proper mechanism under the hood (see Platform notes) — but from where you sit, it's just a switch.
Tip
Keep your everyday fonts active and park the other 800 decorative ones. Your design app's font menu becomes usable again, and every font is still one click away.
Not sure you want that font cluttering your menus permanently? Right-click → "Activate until close" wakes a font up for this session only. When you quit ZFontManager, it's automatically put back to sleep. Perfect for auditioning a typeface in your design app without any cleanup afterwards.
Drag anything into the window:
- individual font files (TTF, OTF, TTC, WOFF and friends),
- whole folders,
- even ZIP archives — fresh from a font site, no unzipping needed.
ZFontManager installs them into your user font directory, and they appear in the library immediately. A progress toast keeps you informed on big drops.
Uninstalling a font never silently deletes anything. Removed fonts go to a restorable Trash inside the app — the actual files are kept safe. Made a mistake? Open the Trash tab, hit Restore, and the font is back exactly where it was. Only "Empty Trash" or a per-item "Delete permanently" actually removes files, and both are clearly marked.
Four complementary ways to impose order on font chaos:
- Tags — free-form labels on any family ("condensed", "80s", "client-x"). Tags appear in the sidebar and act as instant filters. Tag many fonts at once via multi-select.
- Collections — folders you curate by hand, per project or per client. Right-click any font → Collections → add it. A font can live in as many collections as you like.
- Favorites — one star for your go-to typefaces, with its own sidebar view. Press F on any selected font.
- Notes — a small text field per family for things you'd otherwise forget: "licensed for Client X only", "kerning breaks above 60px".
- Search by name, live as you type (press / to jump to the box).
- Filter by classification — Serif, Sans, Mono, Script, Display and more.
- Filter by writing system — Latin, Cyrillic, Greek, and others.
- Variable fonts only — one switch to see just the flexible ones.
- Sort by name, style count, or file size.
Filters combine, and the empty state always tells you which filters are active so you're never staring at a mysteriously empty library.
Select two to four families — Ctrl+Click each one, or hold Shift and use the arrow keys — and a small bar appears at the bottom of the window with a Compare button. Click it (or just press C, or right-click the selection) and the compare view opens: the same preview text rendered in parallel, resizable, so you can finally settle "which of these three sans-serifs is the one" with your own eyes instead of your memory.
One family, every size from small to huge, stacked on one screen. This is how type designers evaluate a font — you can instantly see where it gets muddy, where the details shine, and whether it holds up at footnote size.
Click any family and the detail panel slides in:
- Every style listed with live samples and per-style export
- Variable font axes — drag sliders for weight, width, slant and whatever else the font offers, and watch the preview morph in real time
- OpenType features — ligatures, small caps, stylistic alternates, oldstyle numerals… toggle them and see exactly what they do before you enable them in your design app
- Character map — every glyph the font actually contains; click a character to copy it
- The practical facts — format, file size, file path, license info when the font declares one, plus your tags and notes
Right-click a family → Export specimen and get a beautiful, shareable PNG type specimen — the classic "alphabet + sizes + sample text" sheet. Perfect for sending to a client ("option A or option B?") without them needing the font installed.
You can also export the font files themselves (single style or whole family), or export your entire font list as metadata for spreadsheet people.
Press CtrlK and type. Jump to any view, open any collection, switch themes, rescan, find a specific font by name — everything in the app is a few keystrokes away. If you use it in your editor or browser, it works exactly the way you expect.
- Dark and light themes, plus a System option that follows your desktop. Same glass aesthetic, different light.
- Interface sounds — soft, synthesized feedback for toggles and events. Three levels: on, subtle, or off.
- Reduced motion — replaces the springy animations with quick fades, independently of (or together with) your system-wide preference.
- A first-launch tour glides a spotlight over the interface and teaches the essentials in a minute. Replayable anytime from Settings.
Your tags, collections, favorites and notes are the real work — the fonts themselves you can always re-download. Settings → Export library data saves all of it to a single file; Import merges it back in, on this machine or another one.
The whole app is keyboard-navigable — every card, button and menu. Press ? inside the app (or click Shortcuts in the sidebar) for this same list in a pretty overlay.
Navigate
| Keys | Action |
|---|---|
| Ctrl K | Open the command palette |
| / | Jump to search |
| ↑ ↓ ← → | Move through the library |
| Home / End | First / last font |
| Tab | Walk every control, font cards included |
| Esc | Close panels, deselect |
Select
| Keys | Action |
|---|---|
| Enter | Select the focused card |
| Shift ↑/↓ | Extend the selection |
| Ctrl + Click | Add a font to the selection |
| Shift + Click | Select a range |
Act on the selection
| Keys | Action |
|---|---|
| Space | Activate / deactivate |
| C | Compare the selected fonts (2–4) |
| F | Favorite / unfavorite |
| Del | Move to Trash (always restorable) |
| Shift F10 or ≡ Menu | Open the context menu — arrows browse it |
| ? | Show the shortcuts overlay |
The easiest way is the official download page, which always has the latest build for your platform:
Prefer to build it yourself? See Building from source below — it's three commands.
ZFontManager speaks each operating system's native font language — no hacks, no "portable font folder" tricks.
| Platform | How activation works, in plain words |
|---|---|
| 🐧 Linux | Uses fontconfig, the same system every Linux app reads fonts through. Deactivating tells fontconfig to skip the font — apps simply stop offering it. Nothing is moved or deleted. |
| 🪟 Windows | Uses the per-user font registration Windows itself uses. Deactivating a font unregisters it for your user account; the file stays put. No admin rights needed for your own fonts. |
| 🍎 macOS | Uses a managed move-aside: deactivated fonts are parked in a dedicated folder the app controls, and restored to the exact original location on reactivation. |
Important
Some applications only refresh their font list when they start. If a newly activated font doesn't show up in an app that's already running, restart that app — that's the app's cache, not a lost font.
Warning
System fonts are protected. Fonts your operating system needs to draw its own interface can't be deactivated or trashed from ZFontManager, so you can explore fearlessly.
Short version: there is nothing to worry about, because there is nothing being sent.
- ❌ No account, no sign-up, no license key
- ❌ No telemetry, no analytics, no crash reporting
- ❌ No network requests at all during normal use
- ✅ Your fonts, tags, collections and notes live in local files on your machine
- ✅ The only time the app touches the internet is when you click one of the links on the About page — and that just opens your browser
Don't take our word for it — the entire source code is public.
Does deactivating a font delete it?
No. Deactivating only hides the font from other applications' font menus. The files stay exactly where they are, and the font stays in your ZFontManager library (shown dimmed). One click brings it back.
I uninstalled a font by accident. Is it gone?
No — it's in the Trash tab, and the actual files are kept safe. Click Restore and it goes back exactly where it came from. Fonts are only truly removed when you explicitly choose Delete permanently or Empty Trash.
Will this mess with my system fonts?
No. Fonts the operating system needs are protected — the app won't let you deactivate or trash them.
Which font formats are supported?
The common desktop formats: TTF, OTF, TTC collections, WOFF/WOFF2, and variable fonts. If your design app can use it, ZFontManager can almost certainly manage it.
A font I activated doesn't appear in my design app.
Most likely the app was already running and only reads the font list at startup. Restart the app and the font will be there. (Some apps also have their own "refresh font list" command.)
Can I move my tags and collections to another computer?
Yes — Settings → Export library data gives you a single backup file containing your tags, collections, favorites and notes. Import it on the other machine and it merges in.
Is it really free?
Really free. Free to use, free to share, and the source code is free to read and modify under the GPL-3.0 license. There is no paid tier, no "pro" version, no unlock.
Something broke. Where do I complain?
Please do! Open an issue on the GitHub issue tracker with what you did and what happened. Screenshots help a lot.
You don't need to understand the code to build it — just have
Node.js (with pnpm), Rust, and
the Tauri prerequisites for your
platform installed. Then:
git clone https://github.com/TheHolyOneZ/ZFontManager.git
cd ZFontManager
pnpm install
pnpm tauri buildThe finished installer/bundle lands in src-tauri/target/release/bundle/.
For a live development window instead, use pnpm tauri dev.
For the curious: what it's made of
| Layer | Technology |
|---|---|
| App shell & system integration | Tauri v2 + Rust |
| Interface | React 19 + TypeScript |
| Animation | Motion (spring-based) |
| Build tooling | Vite + pnpm |
The Rust side handles everything that touches your system — scanning,
installing, activation, the trash — while the interface side does the
rendering, previews and organization. Design principles and the product
spec live in the docs/ folder.
ZFontManager is built by TheHolyOneZ — born from the simple frustration that Linux never had a proper font manager, and the good ones elsewhere cost money.
| 👤 Developer | github.com/TheHolyOneZ |
| 🌐 More projects | zsync.eu |
| ⬇️ Download & landing page | zsync.eu/zfontmanager |
| 💻 This project's source | github.com/TheHolyOneZ/ZFontManager |
Found it useful? A ⭐ on the repository genuinely helps others discover it.
ZFontManager is free software, released under the GNU General Public License v3.0.
In human terms: you may use it, share it, and change it — and if you distribute a changed version, it must stay just as free for the next person.
ZFontManager · your fonts, your machine, your rules
Made with care (and a mild grudge against font chaos) by TheHolyOneZ
