SVG icons made easy

UX Icons

Render SVG icons seamlessly from your Twig templates.
Find the perfect icon among 200,000 choices from the most popular icon sets.

Powered by iconify.design

What UX Icons gives you

  • 200,000 icons

    Every set published on Iconify, searchable from the console.

  • One Twig call

    A function or a component tag, nothing else to wire.

  • Stored in your repository

    Each icon is downloaded once and committed with your code.

  • No runtime request

    SVGs are inlined at render time from local files.

  • Styled like text

    They inherit colour and size from the CSS around them.

Search, import, render

How an icon reaches your template.

Icons are not fetched when a visitor loads the page. You pick them once, they land in your repository, and Twig inlines them from there.

Found from the console

Search any Iconify set by name without leaving your terminal.

php bin/console ux:icons:search heart

Imported once

The SVG is written next to your code, so a build never depends on the network.

php bin/console ux:icons:import lucide:heart

# assets/icons/lucide/heart.svg

Inlined in Twig

A component tag or a function, both returning the SVG straight into your markup.

<twig:ux:icon name="lucide:heart" />

{{ ux_icon('lucide:heart') }}

Popular icon sets.

Read documentation

Three commands to remember.

Installation

$ composer require symfony/ux-icons

Search Icons

$ php bin/console ux:icons:search lucide

Configuration

$ php bin/console debug:config ux_icons

More from Symfony UX.

Icons is one package among many. They share the same Stimulus foundation and install the same way.

Image for the CalendarLink UX package

CalendarLink

Let users add your events to their calendar of choice in one click.

Image for the Map UX package

Map

Render interactive Maps in PHP with Leaflet or Google Maps.

Image for the Twig Components UX package

Twig Components

Create PHP classes that can render themselves

Browse every package