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.
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 documentationBootstrap Icons
2,078 iconsBoxIcons v2
814 iconsFlowbite Icons
751 iconsIconoir
1,671 iconsLucide
1,853 iconsTabler Icons
6,202 iconsOcticons
765 iconsPhosphor
9,072 iconsHeroIcons
1,288 iconsThree 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.
CalendarLink
Let users add your events to their calendar of choice in one click.
Map
Render interactive Maps in PHP with Leaflet or Google Maps.
Twig Components
Create PHP classes that can render themselves