How to Install Fonts on Ubuntu: GUI and Terminal Guide

To install fonts on Ubuntu, you can use the graphical GNOME Fonts app or copy font files into the correct font directory yourself. For a manual install, use ~/.local/share/fonts/ for your account only, or /usr/local/share/fonts/ to make fonts available to all users. After copying the files, refresh the font cache if the new typeface does not appear right away.

This guide covers the current paths and tools used by Ubuntu and GNOME, including how to verify that Fontconfig can actually see the font.

Before you install a font

Download the font from a source you trust and check its license before using it. Ubuntu commonly works with TrueType (.ttf) and OpenType (.otf) fonts. If the download is a ZIP or another archive, extract it first so you can access the actual font files.

Ubuntu Files showing TTF and OTF font files in the Downloads folder

Method 1: Install a font with GNOME Fonts

The easiest method on a standard Ubuntu desktop is to open the font file with Fonts, also packaged as gnome-font-viewer. The official GNOME app supports installing downloaded font files and can make fonts available either to your user or to all users. Ubuntu also continues to package GNOME Font Viewer in current releases.

  1. Open Files and browse to the folder containing the downloaded .ttf or .otf file.
  2. Double-click the font file to open its preview in Fonts. If it opens in another app, use Open With and choose Fonts.
  3. Use the install control in the font preview. If the app offers a choice between installing for your account and for all users, choose the scope you need.
  4. Close and reopen any application that was already running before you installed the font.

For current app information, see GNOME Fonts. If Fonts is not installed, Ubuntu provides the gnome-font-viewer package, which you can install with sudo apt install gnome-font-viewer.

Method 2: Install fonts for your user account

For a terminal-based install that does not require administrator access, place font files in ~/.local/share/fonts/. This is the current per-user directory documented by GNOME and Fontconfig; older guides that use ~/.fonts are best updated to the XDG data directory.

Open Terminal and run:

mkdir -p ~/.local/share/fonts
cp ~/Downloads/ExampleSans-Regular.ttf ~/.local/share/fonts/
fc-cache ~/.local/share/fonts/

Replace ExampleSans-Regular.ttf with the actual filename. The mkdir -p command is safe to run even if the directory already exists.

Ubuntu Terminal installing a TTF font in the current user's local share fonts directory

GNOME's administration guide confirms ~/.local/share/fonts/ as the per-user location and notes that you may need to refresh the cache with fc-cache. See the official per-user font instructions.

Method 3: Install fonts system-wide

Use a system-wide install when every account on the computer should have access to the font. A clean place for locally added fonts is /usr/local/share/fonts/. Creating a subfolder keeps custom files organized.

sudo mkdir -p /usr/local/share/fonts/custom
sudo cp ~/Downloads/ExampleSans-Regular.ttf /usr/local/share/fonts/custom/
sudo fc-cache /usr/local/share/fonts/

Ubuntu Terminal copying a font into usr local share fonts for a system-wide installation

GNOME documents /usr/local/share/fonts/ as the system-wide location for extra fonts. The corresponding GNOME system font guide also recommends refreshing that directory with fc-cache when necessary.

Verify that Ubuntu can see the font

If the font still is not listed in your application, first check whether Fontconfig recognizes it. Search by the family name rather than relying only on the filename:

fc-list | grep -i "Example Sans"

Ubuntu Terminal using fc-list to verify that Example Sans fonts are registered

You can also ask Fontconfig which installed font matches a family name:

fc-match "Example Sans"

If you recently replaced or changed font files, force a cache rebuild with:

fc-cache -f -v

The Ubuntu fc-cache manual explains that -f forces regeneration of caches and -v prints progress.

What to do if the font does not appear

  • Restart the application, not necessarily Ubuntu. GNOME notes that running applications may need to be reopened, while the entire user session does not need to be restarted.
  • Make sure the font is extracted. Applications cannot use a .ttf or .otf file that is still inside a ZIP archive.
  • Check the destination. Use ~/.local/share/fonts/ for one user or /usr/local/share/fonts/ for all users.
  • Refresh the cache. Run fc-cache for the relevant directory, or use fc-cache -f -v when troubleshooting.
  • Check the family name. The font's internal family name can differ from its filename, so use fc-list or fc-match to confirm what Ubuntu calls it.

For most users, GNOME Fonts is the quickest route. The terminal methods are better when you are installing several fonts, scripting a setup, or choosing precisely whether a font belongs to one account or the whole system.

Leave a Comment

How to Record Speaker Output on Linux with Audacity

How to Record Speaker Output on Linux with Audacity

Capture Linux desktop audio in Audacity by routing its recording stream to your output device’s monitor source. Follow PulseAudio and PipeWire steps, export tips, and fixes for silent tracks.

How to Use Dropbox on Linux: Install and Sync Your Files

How to Use Dropbox on Linux: Install and Sync Your Files

Install Dropbox on Linux from the official package, sign in, sync a local folder, manage selective sync, and check status from the command line.

How to Install Inkscape on Linux: Ubuntu, Fedora, Arch, and More

How to Install Inkscape on Linux: Ubuntu, Fedora, Arch, and More

Install Inkscape from your Linux distribution’s repositories, the Ubuntu stable PPA, Snap, or Flathub, with current commands and notes for choosing a package source.

How to Find and Remove Duplicate Files on Linux With FSlint

How to Find and Remove Duplicate Files on Linux With FSlint

Use FSlint to scan selected Linux folders, review duplicate groups, and safely delete redundant files or learn when hard-link merging is appropriate.

How to Install SABnzbd on Linux and Configure It

How to Install SABnzbd on Linux and Configure It

Install SABnzbd on Ubuntu or Debian, or run it in Docker on another Linux host. Then open the web interface and configure your provider and download folders.

How to Install the Paper GTK Theme on Linux

How to Install the Paper GTK Theme on Linux

Install the Paper GTK theme from supported Linux repositories, enable it for GTK apps in GNOME Tweaks, and see what the legacy theme can and cannot change.

How to Install and Set Up Plex on OpenMediaVault with Compose

How to Install and Set Up Plex on OpenMediaVault with Compose

The old OpenMediaVault Plex plugin is archived. Set up Plex on OMV 8 with OMV-Extras, the Compose plugin, persistent storage, and Plex’s official container.

How to Clean and Speed Up Ubuntu Safely

How to Clean and Speed Up Ubuntu Safely

Clean and speed up Ubuntu with safe APT cleanup, storage checks, and startup controls that help free space and troubleshoot a sluggish desktop.

How to Install the Hiri Email Client on Linux

How to Install the Hiri Email Client on Linux

Install Hiri on Linux with its Snap package or official tarball, add a desktop launcher, and check supported accounts plus a warning about Hiri’s old Snap release.

How to Get System Specifications for a Linux PC

How to Get System Specifications for a Linux PC

Use Fastfetch and built-in Linux commands to check your distro, kernel, CPU, memory, graphics, storage, and connected devices, then save a clear report.