Linux

Where Are Fonts Stored on Linux?

Where Linux keeps user and system fonts, which folders the package manager owns, and the commands that refresh them.

Last updated

Linux fonts live in three tiers. Your own additions go in ~/.local/share/fonts, system-wide manual installs go in /usr/local/share/fonts, and distro packages fill /usr/share/fonts. Fontconfig searches all of them recursively, so subfolders are fine.

The package manager owns the /usr/share tree, which is the one rule that matters. After adding files, fc-cache rebuilds the cache and fc-list verifies the result. Permissions of 644 keep the files readable; wrong modes are a classic silent failure on multi-user machines.

Where Linux stores this, by platform

Linux
~/.local/share/fonts

Per-user fonts live here in any subfolder layout; fontconfig scans recursively. Rebuild with fc-cache after adding files and confirm with fc-list. The deprecated ~/.fonts still works but new setups should use this path.

Frequently asked questions

how do I install a font on Linux

Copy .ttf or .otf files into ~/.local/share/fonts/ and run fc-cache -f -v. Use /usr/local/share/fonts for all users instead. Never drop files into /usr/share/fonts by hand since the package manager owns it.

how do I list installed fonts

Run fc-list to print every known font with paths, or fc-list with a family pattern to narrow it. The file column shows exactly which folder each font came from. Font managers give the same answers graphically.

is ~/.fonts still used

The old ~/.fonts path still works on many systems but is deprecated in favor of ~/.local/share/fonts. Migrate stragglers during spring cleaning. New installs should only use the XDG path.

Notice an outdated path? Let us know.