Changing Linux GNOME Desktop Fonts Is Easier Than You Think

Bertel King 20-04-2017

GNOME is one of the oldest and most popular desktop environments for free and open source operating systems. The interface has a reputation for being simple and easy to use, almost to a fault. Many Linux users in particular want to customize every aspect of their desktop, and GNOME doesn’t provide many options out of the box.


But GNOME is actually very customization friendly. Downloading GNOME extensions and installing the GNOME Tweak Tool Configure Your Gnome 3 Desktop With Gnome Tweak Tool There aren't exactly a bazillion different customization options for just about anything, as GNOME 3/Shell is still relatively new. If you're one of those people who can't stand GNOME 3 as long as you cannot... Read More  are all you need to do to radically change what you see on screen. Except there’s one giant, seemingly obvious oversight. These tools don’t let you change all the fonts.

Fortunately there’s a way to change remaining GNOME Shell fonts, and the solution doesn’t involve diving into the terminal or editing any existing files.

How to Change Most Fonts in GNOME

Start off by downloading the GNOME Tweak Tool from your app store of choice Linux App Stores Compared: Which One Is Right for You? Windows users are being guided to an app store. macOS has had one for a while. Linux, meanwhile, has had an app store-style experience for years. But which one is right for you? Read More . Think of this as mission control for customizing your GNOME desktop. Here you can manage themes, toggle extensions, and edit the number of workspaces, to name a few features. You can also change fonts.

The GNOME Tweak Tool’s sidebar is packed with aspects of your desktop that you’re free to manipulate. To tweak text, head to the Fonts section. There you will find four categories of fonts to toggle.

  1. Window Titles — This is the text that appears at the top of your apps. In gedit, this is the name of a document. In GNOME Web, this is the current website. For many older apps, the titlebar simply contains their name.
  2. Interface — This is the text that appears inside an app. When you open GNOME Files, this is the sidebar and the labels under your folders. This includes the text that appears in tabs in your web browser or any menus that you open.
  3. Documents — This refers to the text that appears in new documents such as those in your text editor. This does not affect LibreOffice, which has its own set of defaults. On the other hand, the selection here may also impact what you see in desktop email clients.
  4. Monospace — This is the text that appears in your terminal. You don’t have to use a monospace font (one where each character takes up the same amount of horizontal space), but doing so can make code text easier to read in instances when being precise really matters.

Underneath these options, you can also adjust hinting, which is necessary to make fonts readable on low-resolution monitors. Options range from no or little hinting up to full. Then there’s anti-aliasing, a technique used to reduce visual artifacts that result from displaying high-resolution content at a lower resolution. Both settings impact how legible text is on your screen. You can turn them off, but generally some degree of hinting and anti-aliasing is desired for attractive fonts.


Lastly, there’s scaling, a means of increasing the size of all text to fit HiDPI displays. 1.00 is the default size. You can adjust this number however you like, with 2.00 effectively doubling the size of on-screen text. You can go higher, but you’ll likely want a number somewhere between these two. Scaling, in contrast to increasing the font size, lets you increase the size of text without distorting as many aspects of the user interface.

change gnome fonts tweak tool fonts

What About the GNOME Shell?

The GNOME Shell is the interface that launches apps and manages windows. It includes the panel that goes across the top of your screen and all of the elements in the Activies overview GNOME Explained: A Look at One of Linux's Most Popular Desktops You're interested in Linux, and you've come across "GNOME", an acronym for GNU Network Object Model Environment. GNOME is one of the most popular open source interfaces, but what does that mean? Read More . GNOME Tweak Tool doesn’t toggle the fonts for any aspect of the GNOME Shell.

You can change every category listed above, including Interface, and the GNOME Shell will keep the default font (Cantarell). This may seem confusing, but the GNOME Tweak Tool isn’t an official GNOME app. It’s a third-party tool that runs up against the limitations of the way the desktop environment is designed.


Some GNOME configuration settings are accessible through dconf. These variables are easy to tweak once you, or an app you’re using, knows where to look. GNOME Shell doesn’t load fonts from this area. Instead, it looks to a CSS file in your current theme. To change fonts, you have to change themes.

Fortunately, you can create a version of the default theme that uses an alternative font with minimal effort.

First, create a file called gnome-shell.css at ~/.local/share/themes/ThemeName/gnome-shell/. These folders likely don’t already exist, so you may have to create each one manually.

change gnome fonts theme css


Then enter this text into the gnome-shell.css file:

stage {
  font-family: Liberation Sans;
  font-size: 14pt;

This example uses the Liberation Sans font, which is comparable to Arial on Windows. You can substitute the name for any other font installed on your system. Feel free to experiment with the size, too.

To activate the changes, select a new theme using the GNOME Tweak Tool. If you don’t already have the user themes extension installed, you’re going to need to download that first. Make sure that is active under the Extensions section. Then you can select your theme under the Appearance section, which is the first screen the GNOME Teak Tool shows at launch.

change gnome fonts tweak tool theme


The change will happen right away — no need to restart your computer!

change gnome fonts gnome shell

Fonts Make a Fine Theme

GNOME comes with a quirky vibe, and the default font is part of that image. If you’re not a fan, this can hinder your impression of the entire experience. After all, much of what makes people consider macOS beautiful can be traced to the quality of the fonts.

You’re not limited to the fonts that come with GNOME, either. You can install new fonts The 8 Best Free Font Websites for Free Fonts Online Not everyone can afford a licensed font. These websites will help you find the perfect free font for your next project. Read More by placing them in your ~/.fonts folder or /usr/share/fonts. The latter location makes fonts available to all users on your computer.

What do you think of GNOME’s default font? Have you long wanted to change it? What about Linux fonts in general? I have thoughts, but what are yours?

Related topics: Fonts, GNOME Shell.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Loady
    July 5, 2017 at 8:54 am

    As an aside: I have been playing around with using Windows 10 Segoe UI fonts, which I particularly like (and yes, I'm a fan of Windows 10 in general.. so there).

    Hence, having made the Segoe fonts available by placing them in /usr/share/fonts, and having set the appropriate permissions, I have:

    stage {
    font-family: Segoe UI;
    font-size: 11pt;

    The exasperating thing is, however, that GNOME uses the 'bold' or 'black' (whatever?) version of this font family in the Top Bar (and a few other places), both which, frankly, look horrible. Any idea how to change this so that 'regular' font weight is used?

    I have tried a little editing of gnome-shell.css but it's quite tricky..


    PS: You have put "font-size: 14px;" in your original article. Did you mean "pt" rather than "px"?

  2. Loady
    July 1, 2017 at 1:35 pm

    Nice article. Good, clear explanation of something that annoyed me for the past couple of months - ever since I installed Arch Linux with GNOME. Also, I should mention that this is still up to date information as of 1st July 2017, GNOME v3.24.

    You probably know that there's another way to do it which is a bit more direct. It's essentially the same technique, but you modify the actual default compiled gnome-shell.css file directly instead of substituting a new user theme.

    For this second method, you have to unpack the compiled gnome-shell resource file, modify the gnome-shell.css file within it with your favourite editor, and finally repack it.

    I'm making an easy-to-use script to automate this procedure and will post details in a few days time.