Skip to main content

Introduction

Filament uses Tailwind CSS for styling and provides several ways to customize the appearance of your panel, from simple color changes to complete custom themes.

Color customization

The easiest way to customize your panel is by changing the color palette:

Available color presets

Filament includes presets for all Tailwind CSS colors:
  • Color::Slate, Color::Gray, Color::Zinc, Color::Neutral, Color::Stone
  • Color::Red, Color::Orange, Color::Amber, Color::Yellow
  • Color::Lime, Color::Green, Color::Emerald, Color::Teal, Color::Cyan
  • Color::Sky, Color::Blue, Color::Indigo, Color::Violet, Color::Purple
  • Color::Fuchsia, Color::Pink, Color::Rose

Custom color shades

Define custom color shades:

Dark mode

Filament includes built-in dark mode support.

Setting the default theme mode

Options:
  • ThemeMode::Light - Always light mode
  • ThemeMode::Dark - Always dark mode
  • ThemeMode::System - Follow system preference

Forcing a theme mode

Disable the theme switcher and force a specific mode:

Custom fonts

Change the font used throughout the panel:

Loading fonts locally

Custom CSS with Vite

For advanced customization, create a custom theme using Vite.

Creating a theme

1

Install Tailwind CSS

2

Create theme file

Create resources/css/filament/admin/theme.css:
3

Create Tailwind config

Create tailwind.config.js in the same directory:
4

Register in Vite

Update vite.config.js:
5

Configure panel

6

Build assets

Multiple panels with different themes

Create separate themes for each panel:

Pre-compiled custom theme

If you don’t use Vite, you can register a pre-compiled CSS file:

Customizing components

Filament uses CSS hook classes that you can target for customization:

Component hook classes

Filament uses a consistent naming convention:
  • fi- - Filament prefix
  • fo- - Forms package
  • ta- - Tables package
  • ac- - Actions package
  • in- - Infolists package
Examples:
  • .fi-fo-text-input - Text input component
  • .fi-ta-table - Table component
  • .fi-ac-modal - Action modal
  • .fi-sidebar - Sidebar
  • .fi-topbar - Top bar

Icons

Customize icons used throughout the panel:

Custom icon sets

Register custom icon sets:
Use them in your components:

Render hooks

Inject custom HTML at specific points in the panel:
Available hooks:
  • HEAD_START, HEAD_END
  • BODY_START, BODY_END
  • CONTENT_START, CONTENT_END
  • SIDEBAR_START, SIDEBAR_END
  • TOPBAR_START, TOPBAR_END
  • PAGE_START, PAGE_END
  • PAGE_HEADER_START, PAGE_HEADER_END

Logo customization

Customize the panel logo:
Provide different logos for light and dark modes:

Logo as HTML

Return raw HTML for the logo:

Maximum content width

Control the maximum width of page content:

Custom views

Publish Filament’s views to customize them:
Views will be published to resources/views/vendor/filament-panels/.
Customizing views directly is not recommended as it makes upgrades more difficult. Use CSS customization and render hooks instead whenever possible.