guava / filament-icon-picker
A filament plugin that adds an icon picker field.
Fund package maintenance!
Requires
- php: ^8.2
- blade-ui-kit/blade-icons: ^1.8
- filament/filament: ^5.0
- illuminate/contracts: ^12.0|^13.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.8|^4.4
- pestphp/pest-plugin: ^3.0|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.2|^4.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
This package is auto-updated.
Last update: 2026-08-04 07:49:09 UTC
README
Icon Picker for your filament panels
This plugin adds a new icon picker form field and a corresponding table column. You can use it to select from any blade-icons kit that you have installed. By default, heroicons are supported since it is shipped with Filament.
This can be useful for when you want to customize icons rendered on your frontend, if you want your users to be able to customize navigation icons, add small icons to their models for easy recognition and similar.
Documentation
The full documentation is available at guava.cz.
Version compatibility
| Filament version | Plugin version |
|---|---|
| 2.x | 1.x |
| 3.x | 2.x |
| 4.x | 3.x |
| 5.x | 4.x, 5.x |
Both 4.x and 5.x run on filament 5. 5.x is the recommended version, it contains several performance improvements. See the upgrade guide.
For older filament versions, please check the branch of the respective version.
Installation
You can install the package via composer:
composer require guava/filament-icon-picker
Make sure to publish the package assets using:
php artisan filament:assets
Finally, make sure you have a custom filament theme (read here how to create one) and add the following to your theme.css file so the CSS is properly built:
@source '../../../../vendor/guava/filament-icon-picker/resources/**/*';
The package serves icons through two automatically registered endpoints (/_icon-picker/index and /_icon-picker/svgs), secured by an encrypted per-field token. To tweak caching, the route prefix or middleware, publish the config file:
php artisan vendor:publish --tag=filament-icon-picker-config
For the remaining setup steps, please see the installation docs.
Usage
Add the icon picker to any form schema:
use Guava\IconPicker\Forms\Components\IconPicker; IconPicker::make('icon');
And the column to any table:
// Make sure this is the correct import, not the filament one use Guava\IconPicker\Tables\Columns\IconColumn; IconColumn::make('icon');
Everything else, including search result views, limiting icon sets and letting your users upload their own icons, is covered in the documentation.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.