Appearance
Introduction
Media Library Pro adds a media library to Filament panels. Upload a file once, then reuse it in forms, tables, infolists, the rich editor and Blade views. It is built on spatie/laravel-medialibrary, so files, disks and conversions work the way you already know.


Who it's for
- Content teams: editors reuse the same images and documents across posts, pages and products instead of uploading copies.
- Agencies: ship one library to every client panel, with permissions, private files and storage limits.
- SaaS apps: each tenant gets its own library and its own storage quota.
- Sites with their own front end: the picker and the library also run on your Livewire and Blade pages, outside any panel.
What's included
Library page
- A folder tree with drag and drop, plus the smart views Recently added, Favorites, My uploads, Unused and Trash.
- Search, type chips, a tag filter, six sort orders, grid and list layouts, and a thumbnail size slider.
- Click, Shift and Cmd/Ctrl selection with a floating bulk bar.
- Keyboard shortcuts and a full-screen preview.
Uploads
- Drop files or folders, paste from the clipboard, browse, or import from a URL.
- Chunked uploads, several files at once, with a progress tray.
- Duplicate detection by checksum, with a per-file choice.
- Blocked executable extensions, content sniffing, SVG sanitising, a size limit and an optional storage quota.
Inspector
- Title, alt text, caption, description, tags, folder and visibility, plus your own metadata fields.
- Focal point with crop previews, and an image editor for crop, rotate and flip.
- Version history with restore, a "Used in" list and EXIF data.
In your app
- A
MediaPickerform field, table columns, infolist entries and a rich editor plugin. - Blade components that render
srcset, alt text and the focal point. - A
HasMediaLibrarytrait for attaching files to any model.
Safety and scale
- Files that are still in use cannot be deleted by accident.
- Trash with restore, and a scheduled prune command.
- "Only me" files and folders, served through short-lived signed links.
- Filament panel tenancy, stancl/tenancy, or your own resolver.
- Local, public, S3 and S3-compatible disks.
- English and Arabic, with right-to-left layout, light and dark mode.
Requirements
| Package | Version |
|---|---|
| PHP | 8.2, 8.3, 8.4, 8.5 |
| Laravel | 12, 13 |
| Filament | 4.x, 5.x |
| Livewire | 3.x, 4.x |
| spatie/laravel-medialibrary | 11.13+ |
| Database | SQLite, MySQL 8+, PostgreSQL |
| Storage | Any Laravel disk, including S3 and S3-compatible services |
Current Chrome, Edge and Firefox are supported. Safari 17+ supports every browser feature the library uses.
Next: Installation.