How to Install Fonts on Linux

Learn to install font files or packages using GNOME or the terminal
Updated:

Installing fonts on Linux is a very simple process that anyone can do.

Install fonts from your Linux distro

Before downloading fonts from the web you should know that many freely licensed fonts are already packaged for you by your Linux distro ready to be installed.

Installing fonts with GNOME Software

You can browse most available fonts in the GNOME Software app. The fonts page can be accessed by scrolling down to "Categories" clicking "Add-ons" and then the "Fonts" tab.

./gnome-software-fonts.png
GNOME Software's fonts page found in Categories > Add-ons > Fonts

Install fonts from your package manager

You can search all available fonts using your package manager. Font packages commonly contain "fonts" in the package name.

  • On Debian or Ubuntu packages start with "fonts-".

  • On Fedora, CentOS, and REHL packages have "fonts" near the end.

Install font files

With GNOME Fonts

If you have a font file ready you can simply double click the file in your file manager and the GNOME Fonts application will give you an "Install" button in the upper right.

gnome-fonts.png
GNOME fonts showing a font file that has not been installed

Install font files manually

To manually install a font you just need to move the font files to a the appropriate directory. On modern Linux distributions it is recommended you place fonts in the standard XDG directory ~/.local/share/fonts/ while older distributions use ~/.fonts/.

You can verify which location your system supports by examining /etc/fonts/fonts.conf for the following lines:

<!-- Font directory list -->

        <dir>/usr/share/fonts</dir>
        <dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir>
        <dir prefix="xdg">fonts</dir>
        <!-- the following element will be removed in the future -->
        <dir>~/.fonts</dir>

If the fonts folder does not exist create it in your file manager, filenames with a leading period are hidden. Ctrl + h in your file manager will allow you to view hidden files, or simply type the following in the terminal:

mkdir ~/.local/share/fonts/

You may place your fonts in this directory or within sub-directories. Fontconfig supports many fonts formats some popular ones are OpenType Format (.otf) and TrueType Format (.ttf).

Update your font list

Once you have added your files you need to update your system's list of fonts with the following command:

fc-cache -f

You can check your system's font list with the fc-list command.

fc-list

Some example output:

/usr/share/fonts/truetype/noto/NotoSerifHebrew-CondensedLight.ttf: Noto Serif Hebrew,Noto Serif Hebrew Cond Light:style=Condensed Light,Regular
/usr/share/fonts/truetype/cmu/cmunbsr.ttf: CMU Bright:style=SemiBold
/usr/share/fonts/truetype/noto/NotoSansLaoUI-Condensed.ttf: Noto Sans Lao UI,Noto Sans Lao UI Cond:style=Condensed,Regular
/usr/share/fonts/truetype/noto/NotoSans-SemiCondensedExtraLightItalic.ttf: Noto Sans,Noto Sans SemiCondensed ExtraLight:style=SemiCondensed ExtraLight Italic,Italic
/usr/share/fonts/truetype/noto/NotoSerif-ExtraCondensedThinItalic.ttf: Noto Serif,Noto Serif ExtraCondensed Thin:style=ExtraCondensed Thin Italic,Italic
/usr/share/fonts/truetype/noto/NotoSerifKhmer-Medium.ttf: Noto Serif Khmer,Noto Serif Khmer Medium:style=Medium,Regular
/usr/share/fonts/truetype/cmu/cmunso.ttf: CMU Sans Serif:style=BoldOblique
/usr/share/fonts/truetype/noto/NotoSansEthiopic-ExtraLight.ttf: Noto Sans Ethiopic,Noto Sans Ethiopic ExtLt:style=ExtraLight,Regular
/usr/share/fonts/truetype/noto/NotoSansArabic-CondensedThin.ttf: Noto Sans Arabic,Noto Sans Arabic Cond Thin:style=Condensed Thin,Regular
/usr/share/fonts/truetype/noto/NotoSerifTamil-ExtraCondensedExtraBold.ttf: Noto Serif Tamil,Noto Serif Tamil ExtCond ExtBd:style=ExtraCondensed ExtraBold,Regular