Build the software organizations run on.

An open-source framework for building polished, maintainable business software with Laravel.

Illustration of a software factory with connected forms, tables, and workflows

See Filament in action

Filament brings together powerful tools, hundreds of community plugins, and a place to learn alongside other Laravel developers.

Built on

Solid foundations

Thoughtfully engineered and actively maintained, so you can focus on building the features your application needs.

Meet Atlas, standing TALL.

Atlas, the Filament mascot

Security by design

Authorization, validation, and safeguards are built into the components you use, helping you avoid common security mistakes as your software grows.

Accessible interactions

Built-in keyboard navigation, focus management, and screen reader support give more people a familiar, consistent way to use your software.

Predictable patterns

Consistent conventions give developers and AI agents a familiar way to build and extend your software, even as new screens and requirements are added.

Less to maintain

Build on shared components maintained by the Filament community, so your team can focus on its own features and maintain less custom interface code.

Turn PHP into polished UI

Use a declarative syntax that emphasizes clarity and long-term maintainability.

Tables

Browse and manage large datasets with configurable columns, filters, row actions, and bulk operations, all defined in PHP.

Forms

Build complex forms with reusable inputs that manage state, validation, and dependent fields. Arrange them in flexible layouts.

Infolists

Present read-only records on detail pages and side panels, with responsive layouts and custom formatting.

Notifications

Send in-app notifications for user actions and system events, with customizable content and support for Laravel's notification system.

Dashboard widgets

Display metrics, charts, and recent activity in configurable dashboard layouts, with model queries and automatic refreshes.

Action modals

Define reusable actions for buttons, dropdowns, and bulk selections, with confirmations, modal forms, authorization checks, and immediate or queued execution.

OrdersTable.php PostForm.php UserInfolist.php ReportGeneratedNotification.php AnalyticsWidget.php ArchivePostAction.php
 1$table
 2	->columns([
 3		TextColumn::make('number')
 4			->sortable(),
 5
 6		TextColumn::make('user.email')
 7			->label('Customer')
 8			->searchable(),
 9
10		IconColumn::make('is_priority')
11			->boolean(),
12	])
13	->filters([
14		SelectFilter::make('status'),
15	])
16	->bulkActions([
17		DeleteBulkAction::make(),
18	]);
 1$schema
 2	->components([
 3		TextInput::make('title')
 4			->required()
 5			->maxLength(255),
 6
 7		DateTimePicker::make('published_at'),
 8
 9		Toggle::make('is_featured')
10			->live(),
11
12		Textarea::make('featured_description')
13			->maxLength(500)
14			->visible(function (Get $get): bool {
15				return $get('is_featured');
16			}),
17	])
18	->columns(2);
 1$schema
 2	->components([
 3		TextEntry::make('email'),
 4
 5		TextEntry::make('roles.name')
 6			->badge()
 7			->columnSpanFull(),
 8
 9		Section::make('Verification')
10			->schema([
11				IconEntry::make('is_verified')
12					->boolean(),
13
14				TextEntry::make('next_check_at')
15					->dateTime(),
16			]),
17	])
18	->columns(2);
 1Notification::make()
 2	->title('Report generated')
 3	->body('The monthly report is ready to check.')
 4	->icon(Heroicon::DocumentChartBar)
 5	->actions([
 6		Action::make('download')
 7			->color('primary')
 8			->icon(Heroicon::ArrowDownTray)
 9			->url(route('reports.download', $report))
10
11		Action::make('view')
12			->color('gray')
13			->icon(Heroicon::Eye)
14			->url(route('reports.view', $report)),
15	])
16	->success()
17	->persistent()
18	->send();
 1$uniqueViews = $service->getUniqueViews();
 2
 3$totalSales = $service->getTotalSales();
 4$totalSalesChange = $service->getTotalSalesChange();
 5
 6return [
 7	Stat::make('Unique views', $uniqueViews)
 8		->icon(Heroicon::Eye),
 9
10	Stat::make('Total sales', $totalSales)
11		->color(($totalSalesChange >= 0)
12			? 'success'
13			: 'danger')
14		->descriptionIcon(($totalSalesChange >= 0)
15			? Heroicon::ArrowTrendingUp
16			: Heroicon::ArrowTrendingDown)
17		->description(abs($totalSalesChange) . '%'),
18];
 1Action::make('archive')
 2	->icon(Heroicon::ArchiveBox)
 3	->requiresConfirmation()
 4	->schema([
 5		TextInput::make('reason')
 6			->label('Reason for archiving')
 7			->maxLength(255),
 8	])
 9	->action(function (Post $post, array $data) {
10		$post->archive_reason = $data['reason'];
11		$post->touch('archived_at');
12
13		Notification::make()
14			->title('Post archived')
15			->body('It can no longer be edited.')
16			->success()
17			->send();
18	});

Our Premium

Sponsors

Filament is proudly open-source. Our sponsors help fund ongoing development, bug fixes, and community support.

Trusted by the community

Shaped by real-world feedback from developers building and maintaining software with Filament.

Eric Barnes

Owner of Laravel News

We use Filament to power the backend of Laravel News, and it has been a fantastic fit for our workflow. It lets us move quickly, manage content easily, and build custom admin features with minimal overhead. Filament strikes a great balance between flexibility and developer experience, and it has saved us countless hours while keeping our tools simple and reliable.
Mike Craig

President

Wow. We've changed our entire shop to produce nothing but Filament-enabled backend applications. Filament blows any other platform out of the water, and is another reason why the Laravel ecosystem and developers like us continue to ship!
Tim Wassenburg

Developer

Filament enabled us to rapidly create complex features, with development taking only weeks instead of months. Being backed by a supportive community was crucial for the delivery of a high-quality product.
Kevin McKee

CTO of Padmission

Our flagship SaaS product couldn't even exist without Filament. It is the superpower that allows a small company like mine to build world class software in a fraction of the time it takes other companies. Whenever I encounter something that's not already in the framework, the community has almost always solved the problem with a plugin. Whether coding by hand or using AI, everything just makes sense.
Wiebe Nieuwenhuis

Developer & Entrepreneur

I can't imagine creating an application without Filament anymore. It's incredibly easy and swift to use, yet highly adaptable to accommodate your own or your clients' specific requirements.
Sascha Gysel

Co-Founder, Trenda

Filament is a perfect starting point for SaaS startups because it allows to focus on the parts of the application that really make a difference. With Filament we have been able to dramatically reduce our time to market without sacrificing quality.
Luís Dalmolin

CTO of Kirschbaum

Filament has become a core part of how we build at Kirschbaum. It's fast to get started with, reliable in production, looks amazing out of the box, and has genuinely helped us ship projects faster without cutting corners on quality. When a client needs a powerful admin panel or sometimes a fully fleshed-out application, Filament is our first reach. It just works!
Austin Carpenter

Director

Filament has been an absolute game-changer for us for web application development with Laravel. It's packed with features and is also highly extensible and modular, allowing us to deliver bespoke experiences to our customers every time.
Helge Sverre Hessevik Liseth

Developer

I've developed several Filament projects, including a page builder, a SaaS tool, admin panels, and statistics panels. Building aesthetically pleasing and robust solutions is incredibly straightforward. I love working with it.