You can install new fonts on Linux by copying them to either your personal or system-wide font folder. This guide will show you exactly how to install fonts on Linux, covering all major desktop environments and methods. Whether you are a beginner or a seasoned user, these steps will get your fonts working in minutes.
Fonts are essential for personalizing your Linux desktop, improving readability, or using specific typefaces for design work. The process is simpler than you might think, and you don’t need any special software.
Understanding Linux Font Locations
Linux stores fonts in two main locations. The first is for your user account only, and the second is for all users on the system. Knowing which to use helps you keep things organized.
For personal use, fonts go into ~/.fonts or ~/.local/share/fonts. These folders are hidden in your home directory. System-wide fonts go into /usr/share/fonts or /usr/local/share/fonts.
Most modern Linux systems automatically check these folders when you log in. If not, you may need to run a command to refresh the font cache.
How To Install Fonts On Linux
This section covers the core method for installing fonts manually. It works on Ubuntu, Fedora, Debian, Arch, and almost every other distribution.
Step 1: Download Or Locate Your Font Files
Fonts come in many formats, but the most common are TrueType (.ttf) and OpenType (.otf). You can download fonts from websites like Google Fonts, Font Squirrel, or any other trusted source.
Make sure the files are not compressed in a zip archive. If they are, extract them first using your file manager or the unzip command in the terminal.
Step 2: Create The Font Folder (If Needed)
Open your file manager and navigate to your home directory. Press Ctrl+H to show hidden folders. Look for a folder named .fonts or .local/share/fonts.
If the folder does not exist, create it. For personal fonts, the easiest location is ~/.fonts. Open a terminal and type:
mkdir -p ~/.fonts
This command creates the folder if it doesn’t exist. The -p flag prevents errors if the folder already exists.
Step 3: Copy Font Files To The Folder
Now copy your downloaded .ttf or .otf files into the ~/.fonts folder. You can drag and drop them using the file manager, or use the terminal:
cp /path/to/your/fonts/*.ttf ~/.fonts/
Replace /path/to/your/fonts/ with the actual location of your font files. You can also copy all .otf files similarly.
Step 4: Update The Font Cache
Most modern Linux desktops automatically detect new fonts. But to be safe, run the font cache update command:
fc-cache -fv
The -f flag forces a rebuild, and -v shows verbose output. This command scans all font folders and makes new fonts available system-wide.
Step 5: Verify The Installation
Open any application that uses fonts, like LibreOffice Writer or GIMP. Check the font dropdown menu for your newly installed font. You can also use the terminal:
fc-list | grep -i "fontname"
Replace “fontname” with part of the font’s name. If it appears, the installation was successful.
Installing Fonts System-Wide
If you want all users on your computer to have access to the same fonts, install them system-wide. This requires root privileges.
First, create a folder in /usr/share/fonts for your new fonts. For example:
sudo mkdir -p /usr/share/fonts/truetype/myfonts
Then copy the font files into that folder:
sudo cp *.ttf /usr/share/fonts/truetype/myfonts/
Finally, update the font cache with:
sudo fc-cache -fv
System-wide fonts are ideal for shared computers or servers where multiple users need the same typefaces.
Installing Fonts Using Package Managers
Many Linux distributions include font packages in their official repositories. This method is often easier and ensures updates are handled automatically.
On Ubuntu And Debian
Use apt to install font packages. For example, to install the Microsoft Core Fonts:
sudo apt update
sudo apt install ttf-mscorefonts-installer
Other popular font packages include fonts-noto, fonts-liberation, and fonts-dejavu.
On Fedora
Fedora uses dnf. To install Google Noto Fonts:
sudo dnf install google-noto-sans-fonts
You can search for fonts using dnf search fonts to find available packages.
On Arch Linux
Arch uses pacman. Install fonts from the official repositories:
sudo pacman -S ttf-dejavu ttf-liberation
For fonts from the AUR, use an AUR helper like yay:
yay -S ttf-ms-fonts
Using Font Managers
Graphical font managers make installing and managing fonts easier. They provide previews and let you enable or disable fonts without moving files.
Popular font managers include Font Manager, Fontmatrix, and GNOME Fonts. Install them from your package manager:
sudo apt install font-manager (Ubuntu)
sudo dnf install font-manager (Fedora)
Once installed, open the application, click “Add Fonts,” and select your font files. The manager handles copying and cache updates automatically.
Installing Fonts From The Google Fonts Repository
Google Fonts offers hundreds of free, open-source fonts. You can download them individually or clone the entire repository.
First, install Git if you don’t have it:
sudo apt install git
Then clone the Google Fonts repository:
git clone https://github.com/google/fonts.git
This downloads all fonts into a folder named “fonts.” Navigate to the folder and copy the fonts you want to ~/.fonts or /usr/share/fonts.
Alternatively, use a tool like fonts-installer or a GUI frontend to simplify the process.
Troubleshooting Common Issues
Sometimes fonts don’t appear after installation. Here are common fixes:
- Run
fc-cache -fvagain to ensure the cache is updated. - Check that the font files are not corrupted. Try downloading them again.
- Verify the file permissions. Fonts should be readable by your user. Use
chmod 644 *.ttfto set correct permissions. - Restart your applications. Some programs cache fonts at startup.
- Log out and log back in if fonts still don’t show up.
If you are using a Flatpak or Snap application, it may not see system fonts. Install fonts inside the application’s sandbox or use the host’s font folder.
Font Formats And Compatibility
Linux supports multiple font formats. The most common are TrueType (.ttf) and OpenType (.otf). Other formats include:
- Web Open Font Format (.woff and .woff2) – used for web but can be installed.
- Bitmap fonts (.pcf, .bdf) – older format, still supported.
- PostScript fonts (.pfb, .pfm) – legacy format.
Most modern applications prefer .ttf or .otf. Avoid installing too many fonts at once, as it can slow down font menus.
Removing Fonts
To remove a font, simply delete the font file from its folder. For personal fonts:
rm ~/.fonts/fontname.ttf
Then update the cache:
fc-cache -fv
For system-wide fonts, use sudo rm and then update the cache with sudo.
If you installed via a package manager, remove the package:
sudo apt remove ttf-mscorefonts-installer
Frequently Asked Questions
Can I Install Fonts Without Root Access?
Yes, you can install fonts in your personal ~/.fonts folder without root privileges. This is the safest method for single-user systems.
Why Are My Fonts Not Showing Up In Applications?
Run fc-cache -fv to update the font cache. Also, ensure the font files are in the correct folder and have proper read permissions. Restart the application after updating the cache.
How Do I Install Fonts From A .Zip File?
Extract the .zip file first using your file manager or the unzip command. Then copy the extracted .ttf or .otf files to your font folder and update the cache.
What Is The Difference Between User And System Fonts?
User fonts are stored in your home directory and are only available to you. System fonts are stored in /usr/share/fonts and are available to all users on the machine.
Can I Use Windows Fonts On Linux?
Yes, you can copy Windows fonts like Arial or Times New Roman to your Linux font folder. However, ensure you have the legal right to use them. Microsoft Core Fonts are available as a package on many distributions.
Final Tips For Managing Fonts
Keep your font collection organized by creating subfolders for different font families. This makes it easier to find and remove fonts later.
Use the fc-list command to see all installed fonts. You can filter by format or family name. For example:
fc-list | grep -i "serif"
Regularly clean out unused fonts to keep your system fast. Too many fonts can cause application slowdowns, especially in design software.
If you are a designer, consider using a font manager to preview and activate fonts on demand. This avoids cluttering your system with hundreds of fonts.
Now you have all the knowledge you need to install fonts on Linux. Whether you prefer the terminal or a graphical tool, the process is straightforward. Enjoy customizing your desktop with the perfect typefaces.