UI Icons showcase

UI Icons builds on the Drupal core Icon API, where any module or theme declares icon packs in YAML. It adds the user interface to pick an icon and its settings, and integrations with Drupal site building tools.

After installing this module, check our repository of examples to include existing icon pack providers.

Drupal compatibility

The 2.1.x branch is for Drupal 11.3+ and Drupal 12. All bug fixes and new features land here. The 2.0.x branch is no longer supported, update to 2.1.x.

The 1.1.x branch is deprecated. It only receives security fixes, until January 31, 2027, no bug fix or new feature, and we kindly ask you not to use it for new projects.
It targeted Drupal 11.1+, and both Drupal 11.1 and 11.2 have since reached end of life, so any site still on that branch should plan an upgrade.

If your site already runs Drupal 11.3 or newer, you can move to 2.1.x right away.

Integrations

Once discovered from the icon packs, icons can be used:

  • in a Field, with its own widget and formatter, and optional icon settings per value.
  • in Link fields, with a widget and a formatter, and support for Link Attributes and Linkit.
  • in Menu links, with a configurable selector and allowed icon packs.
  • in CKEditor 5 and a text filter, to add icons in rich text, with or without a span wrapper.
  • as a Media source.
  • in UI Patterns 2 components, as an icon prop.
  • in Drupal Canvas.

Icons are picked with an autocomplete, a modal grid from the UI Icons Picker submodule, or an in-place popover with groups from the UI Icons Popover submodule. When enabled, the popover is the default selector in UI Patterns. Icon packs can also come from a web font, with the UI Icons Web fonts submodule.

Feel free to propose other integrations.

Icons library

The UI Icons Library sub-module generates an icons library page, rendered with the front theme, to be used as documentation for content editors or as a showcase for business and clients.

Showcases

This module does not include third-party icons but makes it very simple to add existing icons from any provider or your own, and mix them together!

Examples in contrib space:

Bootstrap 5 DSFR (French Gov) USWDS (US Gov)
1 pack 3 packs 1 pack
DaisyUI
4 packs

Our examples repository has ready-made configurations for 18 popular icon sets, such as Bootstrap Icons, Font Awesome, Heroicons, Lucide, Material Symbols and Tabler.

Drupal core

We are willing to push part of this module to Drupal core, The Icon API was a first step, next step:

Feel free to contact me if you're willing to help.

Incompatibility

UI Suite

UI Icons works on its own, and is part of UI Suite, a set of modules to implement design systems in Drupal.

Support

Support my open source work on Liberapay.
Need a feature, a fix or help on your project? I take sponsored work and freelance missions: contact me.

Supporting organizations: 

Project information

Releases