guava/filament-icon-picker

A filament plugin that adds an icon picker field.
728,748 164
Install
composer require guava/filament-icon-picker
Latest Version:5.0.0
PHP:^8.2
License:MIT
Last Updated:Aug 4, 2026
Links: GitHub  ·  Packagist
Maintainer: Skrypt

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.

Related Packages

guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

88,102 79
guava/calendar

Adds support for vkurko/calendar to Filament PHP.

440,754 312
guava/filament-icon-select-column

Adds a icon select (via dropdown) column to your filament tables.

11,389 46
guava/filament-icons

This package allows you to generate enum classes for ANY blade icon set you have...

29,826 26
guava/filament-clusters

Filament clusters allow you to cluster multiple fields into one visually.

92,979 158