filafly / filament-lucide-icons
Lucide icon pack for Filament Icons: replaces every Filament UI icon with Lucide
Requires
- php: ^8.2
- filafly/filament-icons: ^2.2.2
- filament/filament: ^4.0 || ^5.0
- mallardduck/blade-lucide-icons: ^2.0.39
Requires (Dev)
- laravel/pint: ^1.22
- orchestra/testbench: ^10.0 || ^11.0
- phpunit/phpunit: ^11.5 || ^12.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-06 10:27:17 UTC
README
Filament Lucide Icons
A Lucide icon set for Filament Icons. Register one plugin and every icon in Filament's own UI (sidebar, tables, forms, actions, notifications, the rich editor toolbar, multi-factor auth and the rest) switches to Lucide. All 2,287 Lucide icons are also available as an enum for your own resources.
Works with Filament 4 and 5.
More about this package on FilaFly: Lucide icons for Filament on FilaFly.
Installation
You can install the package via composer:
composer require filafly/filament-lucide-icons
This registers Blade's lucide icon prefix, so remove any other package that registers the same prefix first.
After the package is installed, you must register the plugin in your Filament Panel provider:
use Filafly\Icons\Lucide\LucideIcons; public function panel(Panel $panel): Panel { return $panel ->plugin(LucideIcons::make()); }
That's it. Every Filament icon alias (all 223 in Filament 5) is mapped to a Lucide icon.
Icon style
Lucide has a single outline style, so there are no style methods (solid(), overrideStyleForAlias() and so on) on this pack. Use the overrides below to pick different icons instead.
Specifying exact icons to use
You can specify exactly which icon you would like to use in given situations. This can be done via icon aliases or icon enum cases.
Override icon aliases
Use overrideAlias() to change which icon is used for specific Filament icon aliases:
use Filafly\Icons\Lucide\LucideIcons; use Filafly\Icons\Lucide\Enums\Lucide; use Filament\View\PanelsIconAlias; use Filament\Tables\View\TablesIconAlias; LucideIcons::make() ->overrideAlias(PanelsIconAlias::SIDEBAR_EXPAND_BUTTON, Lucide::PanelLeftOpen) ->overrideAlias(TablesIconAlias::ACTIONS_FILTER, Lucide::ListFilter);
Or use overrideAliases() to override multiple aliases at once by passing an array:
LucideIcons::make() ->overrideAliases([ PanelsIconAlias::SIDEBAR_EXPAND_BUTTON => Lucide::PanelLeftOpen, TablesIconAlias::ACTIONS_FILTER => Lucide::ListFilter, ]);
Query builder icons: on Filament 4.2 and later, override the query-builder::constraints.* aliases (the QueryBuilderIconAlias constants). On Filament 4.0 and 4.1, use the tables::filters.query-builder.constraints.* keys instead.
Override individual icons
Use overrideIcon() to replace a Lucide icon everywhere this pack uses it:
LucideIcons::make() ->overrideIcon(Lucide::Trash2, Lucide::Trash) ->overrideIcon(Lucide::SquarePen, Lucide::Pencil);
Or use overrideIcons() to override multiple icons at once by passing an array:
LucideIcons::make() ->overrideIcons([ Lucide::Trash2->value => Lucide::Trash, Lucide::SquarePen->value => Lucide::Pencil, ]);
PHP arrays do not support enums as keys so
->valueis necessary if you want to reference the enum
Icon enum
All Lucide icons are available through an enum providing convenient usage throughout Filament. For more information, check the Filament docs.
use Filament\Forms\Components\Toggle; use Filafly\Icons\Lucide\Enums\Lucide; Toggle::make('is_starred') ->onIcon(Lucide::Star)
The icons come from mallardduck/blade-lucide-icons, so <x-lucide-star /> and @svg('lucide-star') work in your own Blade views too.
Testing
composer test
The suite checks that every icon alias in the installed Filament version is mapped, and that every enum case has an SVG in blade-lucide-icons.
From FilaFly
FilaFly also makes premium themes for Filament panels: Lucent, Prizm, Cypher and Citrus. Browse the themes.
License
The MIT License (MIT). Please see License for more information.
The Lucide icons are © Lucide Icons and Contributors under the ISC License, with some icons derived from Feather (© Cole Bemis, MIT). See LICENSE-LUCIDE.md.