Change Icon Theme in GNOME

Change Your Icon Theme In GNOME

To change icons in GNOME, install the icon theme where GNOME can find it, then select it in GNOME Tweaks. The useful check is whether the theme folder contains index.theme. If it does not, Tweaks has nothing valid to offer in its Icons menu.

Install GNOME Tweaks

GNOME Tweaks exposes the icon-theme selector and its upstream project is designed for GNOME Shell, so these instructions assume a GNOME session rather than KDE Plasma, Xfce, or Cinnamon.

Install the package your distribution provides, noting that I checked the Debian repository during this refresh and found gnome-tweaks 46.1-1 available while the Fedora and Arch package catalogs also list gnome-tweaks.

# Debian, Ubuntu, and derivatives
sudo apt update
sudo apt install gnome-tweaks

# Fedora
sudo dnf install gnome-tweaks

# Arch Linux and derivatives
sudo pacman -S gnome-tweaks

Open Tweaks from the app launcher after the package finishes installing, or start it from a terminal with the command below.

gnome-tweaks

Install an icon theme in the right directory

Use a theme archive from a project you trust, extract it, and inspect the folder before copying it because the folder must contain index.theme at its top level rather than inside a second folder with the same name.

For an icon theme only you use, place that folder in ~/.local/share/icons, which follows the XDG data-directory convention and avoids a system-wide change that needs administrator access.

mkdir -p ~/.local/share/icons
cp -r /path/to/ThemeName ~/.local/share/icons/
ls ~/.local/share/icons/ThemeName/index.theme

The last command should print the path to index.theme, and a missing-file result means you should move the inner theme folder instead of selecting the outer archive folder.

To offer the same theme to every local account, copy it to /usr/share/icons only when you intend to maintain it system-wide through upgrades and manual removals.

sudo cp -r /path/to/ThemeName /usr/share/icons/
ls /usr/share/icons/ThemeName/index.theme

Choose the icon theme in GNOME Tweaks

Open GNOME Tweaks, select Appearance, then open the Icons menu and choose the theme name after GNOME finds a valid index.theme file in an icon directory.

Icons in the dock, application menu, file chooser, and many application toolbars should update after you choose it, although an application with cached icons may need to be closed and opened again.

Set the theme from a terminal

GNOME Tweaks is the safer first route because you can see the installed names, but gsettings can set the same GNOME preference when you know the exact folder name containing index.theme.

gsettings set org.gnome.desktop.interface icon-theme 'ThemeName'
gsettings get org.gnome.desktop.interface icon-theme

Replace ThemeName with the directory name, preserving capitalization. Run this inside your logged-in GNOME session, not through sudo or a remote shell, because gsettings writes the preference for the active user.

Fix an icon theme that does not appear

Check the directory depth first because a downloaded archive often expands to ThemeName/ThemeName/index.theme, while GNOME needs ThemeName/index.theme in one of its icon directories.

Close and reopen Tweaks after copying the folder. If the theme appears but some icons fall back to a generic image, the theme does not supply every icon name the application asks for and GNOME uses its fallback theme where possible.

My command check ran on a Debian server without a GNOME desktop session or gsettings installed, so I did not claim a desktop result. The package names, install paths, and GNOME Tweaks scope were checked against the Debian package metadata, upstream GNOME Tweaks repository, Fedora and Arch package pages, and the freedesktop.org icon-theme specification.

Where do I install a GNOME icon theme for one user?

Copy the theme folder to ~/.local/share/icons and confirm that index.theme is directly inside that folder. Then choose the theme in GNOME Tweaks under Appearance and Icons.

Why is my icon theme missing from GNOME Tweaks?

GNOME Tweaks needs a valid theme folder in an icon directory. Check that the folder contains index.theme at its top level, then close and reopen Tweaks.

Can I change the GNOME icon theme with a command?

Yes. In an active GNOME user session, use gsettings set org.gnome.desktop.interface icon-theme followed by the exact theme name. Do not run it through sudo because the setting belongs to the logged-in user.

Choose a theme from GNOME Tweaks first, then use the gsettings command only when you need to repeat the same choice. Keeping the theme folder and its index.theme file together is the part that makes both routes work.