guava/filament-icon-picker

A filament plugin that adds an icon picker field.

Maintainers

Package info

github.com/GuavaCZ/filament-icon-picker

pkg:composer/guava/filament-icon-picker

Transparency log

Fund package maintenance!

GuavaCZ

Statistics

Installs: 729 119

Dependents: 22

Suggesters: 0

Stars: 163

Open Issues: 17

5.0.0 2026-08-04 07:48 UTC

README

filament-icon-picker Banner

Icon Picker for your filament panels

Latest Version on Packagist Total Downloads

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.