Skip to content


Repository files navigation

Adwaita Icon Theme

Private UI icon set for GNOME core apps.

Adwaita Icons

Bugs and Requests

If you're a core GNOME application maintainer and you have an icon need that bridges multiple components or apps, feel free to file a request in the issue tracker. If you're an application developer, file a request against the Icon Development Kit instead.

Fullcolor vs symbolic

For an up to date guide on how to use and how to design GNOME style icons, see the GNOME User Interface Guidelines: UI Icons and App Icons.

Building and Contributing to Adwaita

The icon set for system components shares the same workflow as 3rd party app symbolics, the icon devkit.

While many legacy symbolics only live as the exported individual SVGS in Adwaita/symbolic/, the replacements are maintained in src/symbolic/core.svg. Using icon categories/contexts are no longer used and all new icons go into actions. Please refer to the Devkit guidelines on how to structure the metadata.

Do note that no new additions should be made unless very thoroughly discussed. a-i-t is the wrong way to reuse icon assets (no API, false promise of stability).


The color of the icon set is defined at runtime by gtk. Every single icon from the set is actually embedded inside an xml container that has a stylesheet overriding the colors.

There is a couple of things the icon author needs to be aware of and a few things they can make use of. The stylesheet is setting the color of the fill for all rectangles and paths. DO NOT leave any rectangles or paths with no fill/stroke thinking it's invisible.

Symbolic Preview doesn't convert strokes to paths yet, so you need to do it manually for now in Inkscape (Path -> Stroke to Path). Alternatively you can add Live path effect join type to your stroke and keep it non destructive.

Gtk doesn't care about the colors you define for the icon. They are recolored at runtime. If you need portions of icons to have a color, you need to include a class attribute to the shape or group and set it to one of the three values below.

  • warning - this maps to gtk @warning_color
  • error - maps to @error_color
  • success - maps to @success_color