Hero background

Quick Guide

Filament is a powerful, developer-friendly admin panel for Laravel that lets you build modern interfaces with minimal effort. This quick start guide walks you through everything you need to know to get up and running — from installation to your first resource — all in just a few simple steps. Whether you're building an e-commerce dashboard, a CMS, or internal tools, this is the perfect place to begin your Filament journey.

# Getting Started with Laravel Filament

Filament is a modern, elegant admin panel builder for Laravel. It lets you build fully functional dashboards, resource management tools, and custom interfaces at lightning speed. With Filament 4, things are faster, more powerful, and more streamlined than ever.

This guide walks you through the fastest way to get started using Filament 4, showing how quickly you can build real, working features.

# Step 1: Install Laravel

Start by creating a new Laravel project:

composer create-project laravel/laravel name-of-your-project

Set up your .env file to connect to a database:

DB_CONNECTION=mysql
DB_DATABASE=filament_demo
DB_USERNAME=root
DB_PASSWORD=

And make sure you setup the Laravel App:

php artisan migrate
php artisan storage:link
npm install (for front-end)

# Step 2: Install Filament

Install the latest Filament:

composer require filament/filament
php artisan filament:install

Create your first admin user to log in to the panel:

php artisan make:filament-user

You’ll be prompted to enter name, email, and password. Once done, head to your Filament panel:

http://your-app.test/admin

Log in using the user you just created.

# Step 3: Create Your First Resource

Step 3: Create Your First Resource

Let’s say you want to manage "Products".

First, create the model and migration:

php artisan make:model Product -m

Then edit the migration file:

Schema::create('products', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->decimal('price', 8, 2);
    $table->timestamps();
});

Run the migration:

php artisan migrate

Make sure the properties are fillable

// app/Models/Product.php

class Product extends Model
{
    public $fillable = [
        'name',
        'price',
        'updated_at',
        'created_at'
    ];
}

Now generate the Filament resource:

php artisan make:filament-resource Product

This will scaffold:

  • A form for creating/editing products
  • A table to list them
  • Navigation in the admin panel

Go to your admin panel and you’ll see Products in the sidebar. You can now create, edit, and manage them visually.

# Step 4: Customize the Resource

Step 4: Customize the Resource

Open the generated resource file - inside configure() method:

// app/Filament/Resources/Product/Schemas/ProductForm.php

use Filament\Forms\Components\TextInput;

public static function configure(Schema $schema): Schema
{
    return $schema
        ->components([
            TextInput::make('name')
                ->required()
                ->maxLength(255),

            TextInput::make('price')
                ->prefix('$')
                ->numeric(),
        ]);
}

And let's adjust the list view - inside the configure() method:

// app/Filament/Resources/Product/Tables/ProductTable.php

use Filament\Tables\Columns\TextColumn;

public static function configure(Table $table): Table
{
    return $table
        ->columns([
            TextColumn::make('name')
                ->searchable(),

            TextColumn::make('price')
                ->money('usd'),
        ])
        ->filters([
            //
        ])
        ->recordActions([
            EditAction::make(),
        ])
        ->toolbarActions([
            BulkActionGroup::make([
                DeleteBulkAction::make(),
            ]),
        ]);
}

You can customize fields, validations, layout, filters, actions, and more.

# More Things You Can Build

More Things You Can Build

Filament is designed to scale with your needs. With just a few commands and some configuration, you can build powerful features:

  • Dashboards with custom widgets
  • Pages with custom logic and design
  • Relation managers to manage related records
  • Form builders for dynamic, interactive forms
  • Table views with filtering, sorting, bulk actions
  • Authentication via Laravel’s native system
  • Authorization using policies and gates

Filament also supports themes, global search, custom actions, and a clean developer experience using modern PHP and Tailwind CSS.

# Example Use Cases

E-commerce Admin
Manage products, categories, orders, customers, and inventory.

CRM System
Track leads, manage contacts, assign tasks, and follow up sales.

Content Management System (CMS)
Create pages, blog posts, upload media, manage users, and moderate content.

Internal Admin Tools
Dashboards for HR, finance, logistics, and more.

# You're Ready

With Filament, you can go from blank Laravel project to fully working admin panel in minutes.

It’s simple to get started, but powerful enough to scale with your project. Start building, customizing, and shipping faster than ever.