PHPackages                             slimani/filament-media-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. slimani/filament-media-manager

ActiveLibrary[File &amp; Storage](/categories/file-storage)

slimani/filament-media-manager
==============================

A media manager plugin for Filament.

v0.9.10(1mo ago)5101—0%2MITPHPCI passing

Since Mar 13Pushed 1mo agoCompare

[ Source](https://github.com/slimani-dev/filament-media-manager)[ Packagist](https://packagist.org/packages/slimani/filament-media-manager)[ Docs](https://github.com/slimani-dev/filament-media-manager)[ RSS](/packages/slimani-filament-media-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (17)Versions (30)Used By (0)

Filament Media Manager
======================

[](#filament-media-manager)

[![GitHub Workflow Status](https://camo.githubusercontent.com/fd6c63e9cf0761f3dbbf69efabf67a6bafa3ff1407912b0f045639a8a1817f20/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736c696d616e692d6465762f66696c616d656e742d6d656469612d6d616e616765722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/slimani-dev/filament-media-manager/actions/workflows/run-tests.yml)[![GitHub Workflow Status](https://camo.githubusercontent.com/f0194a70ee1ae121b7d5322770da681d32266049ea5febb67a7f3431504ebfae/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736c696d616e692d6465762f66696c616d656e742d6d656469612d6d616e616765722f7068707374616e2e796d6c3f6272616e63683d6d61696e266c6162656c3d7068707374616e267374796c653d666c61742d737175617265)](https://github.com/slimani-dev/filament-media-manager/actions/workflows/phpstan.yml)[![GitHub Workflow Status](https://camo.githubusercontent.com/19c52982346b15fb792d54b7d8de8e078981e367fc88038d1531a173e741486b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f736c696d616e692d6465762f66696c616d656e742d6d656469612d6d616e616765722f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/slimani-dev/filament-media-manager/actions/workflows/fix-php-code-style-issues.yml)[![Total Downloads](https://camo.githubusercontent.com/ca1d3708015a001bfbed44140a0f23cccd39f8e8cd17ff9143d810fe5f04cfb9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736c696d616e692f66696c616d656e742d6d656469612d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/slimani/filament-media-manager)[![License](https://camo.githubusercontent.com/1a8d9630ad30502daffabeeee9c048226473f05620b519dc1d7d4764db938274/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f736c696d616e692f66696c616d656e742d6d656469612d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://github.com/slimani-dev/filament-media-manager/blob/main/LICENSE)

A comprehensive media manager plugin for Filament v4 and v5.

Features
--------

[](#features)

- **Folder-based organization**: Organize your media into hierarchical folders.
- **Native Filament integration**: Built specifically for Filament with support for forms, tables, and actions across both v4 and v5 versions.
- **Smooth UI**: Modern, responsive media browser with search and filtering capabilities.
- **Hierarchical Folder Navigation**: Browse and organize media using a powerful tree selection interface, thanks to `filament-select-tree`.
- **Taggable media**: Add tags to your files for easier searching and filtering.
- **Support for multiple disks**: Configure which disk to use for storage per field or globally.

Screenshots
-----------

[](#screenshots)

### Media Manager Overview

[](#media-manager-overview)

[![Media Manager Overview](https://camo.githubusercontent.com/ed41293d769dbbb35af6526bd810d78c29dcb19a658fd197626719d068d037cf/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33352e34302e706e67)](https://camo.githubusercontent.com/ed41293d769dbbb35af6526bd810d78c29dcb19a658fd197626719d068d037cf/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33352e34302e706e67)

### File Upload

[](#file-upload)

[![Folder Navigation](https://camo.githubusercontent.com/b14ec9542f3103de77ef733f4bb40eb797d1d7730c5fe7db823d1100c72a7798/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e31322e706e67)](https://camo.githubusercontent.com/b14ec9542f3103de77ef733f4bb40eb797d1d7730c5fe7db823d1100c72a7798/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e31322e706e67)

### File Details

[](#file-details)

[![](https://camo.githubusercontent.com/57afb8f71b4402ee358fbeb13e9f8e1ceb032b7228f82f0583f88a1d59c671f7/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e34312e706e67)](https://camo.githubusercontent.com/57afb8f71b4402ee358fbeb13e9f8e1ceb032b7228f82f0583f88a1d59c671f7/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e34312e706e67)

### File Preview

[](#file-preview)

[![](https://camo.githubusercontent.com/2678cf51c7e7f42c8441aa999523d413159a43e2fed4fad29ae340a1f887dd44/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e34362e706e67)](https://camo.githubusercontent.com/2678cf51c7e7f42c8441aa999523d413159a43e2fed4fad29ae340a1f887dd44/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e34362e706e67)

### Filter, Search and Sort (with Multiple selectin and Actions)

[](#filter-search-and-sort-with-multiple-selectin-and-actions)

[![Rich Text Editor Integration](https://camo.githubusercontent.com/506193fbfe3457602bf59e8b7cd39b4dcfc224edf7383d0f67d0278ea9b9ab14/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33372e35302e706e67)](https://camo.githubusercontent.com/506193fbfe3457602bf59e8b7cd39b4dcfc224edf7383d0f67d0278ea9b9ab14/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33372e35302e706e67)

### Move Action Dialoge

[](#move-action-dialoge)

[![File Details](https://camo.githubusercontent.com/a49783802dc3532c959c5f2ad4542dfe4248160af1fd7f90fcafdb281e80ef5a/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e33362e706e67)](https://camo.githubusercontent.com/a49783802dc3532c959c5f2ad4542dfe4248160af1fd7f90fcafdb281e80ef5a/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33362e33362e706e67)

### Filtering by Type (Document) and Sorting By size

[](#filtering-by-type-document-and-sorting-by-size)

[![Image Editor](https://camo.githubusercontent.com/c30333f7a8e487808a61cbaa7b62b186ca625d15ccae7a548452332872425993/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33392e32342e706e67)](https://camo.githubusercontent.com/c30333f7a8e487808a61cbaa7b62b186ca625d15ccae7a548452332872425993/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e33392e32342e706e67)

### Rich Text Integration, Media Picker, MediaEntries

[](#rich-text-integration-media-picker-mediaentries)

[![Bulk Actions](https://camo.githubusercontent.com/f5ad14f46a64286678bf7b7c8de24939ecdd4f1d815f15a29db68291589303f0/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e34302e34312e706e67)](https://camo.githubusercontent.com/f5ad14f46a64286678bf7b7c8de24939ecdd4f1d815f15a29db68291589303f0/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e34302e34312e706e67)

### Media Picker (in Action)

[](#media-picker-in-action)

[![Settings & Configuration](https://camo.githubusercontent.com/b9f0e6233298091a570f1416843853ae9ac769fa2e3abf900ba9a9ca340c94de/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e34312e32332e706e67)](https://camo.githubusercontent.com/b9f0e6233298091a570f1416843853ae9ac769fa2e3abf900ba9a9ca340c94de/68747470733a2f2f73332e736c696d616e692e6465762f6d656469612d6d616e616765722f53637265656e25323053686f74253230323032362d30332d3139253230617425323032312e34312e32332e706e67)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require slimani/filament-media-manager
```

```
# Publish Media Manager migrations
php artisan vendor:publish --tag="media-manager-migrations"

# Publish Spatie MediaLibrary migrations (if not already published)
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"

# Run migrations
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="media-manager-config"
```

Styling
-------

[](#styling)

If you are using a [Custom Filament Theme](https://filamentphp.com/docs/5.x/styling/overview#creating-a-custom-theme), you must include both the plugin's pre-defined styles and allow Tailwind to scan your components for utility classes.

Add the following lines to your `theme.css` file:

```
@import '../../../../vendor/slimani/filament-media-manager/resources/css/media-manager.css';

@source '../../../../vendor/slimani/filament-media-manager/resources/**/*';
```

### Why both?

[](#why-both)

- **@import**: Loads the custom component styles (like the media grid and picker layouts) that are unique to this plugin.
- **@source**: Allows Tailwind to scan the plugin's Blade files and generate any standard utility classes (like `p-4`, `flex`, etc.) that are used in the UI.

Usage
-----

[](#usage)

### Plugin Registration

[](#plugin-registration)

Register the plugin in your Panel Provider:

```
use Slimani\MediaManager\MediaManagerPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(MediaManagerPlugin::make());
}
```

### Prepare Model

[](#prepare-model)

To use the media manager with your models, add the `InteractsWithMediaFiles` trait. This is required for relationships and picker functionality.

#### 1. Prepare your Migration

[](#1-prepare-your-migration)

- **For single-file relationships** (like `avatar_id` or `cv_id`), you need to add the foreign key columns to your model's migration:

```
Schema::table('users', function (Blueprint $table) {
    $table->foreignId('avatar_id')->nullable()->constrained('media_files')->nullOnDelete();
    $table->foreignId('cv_id')->nullable()->constrained('media_files')->nullOnDelete();
});
```

- **For multiple/polymorphic relationships** (using `$this->mediaFiles()`), **no migration is required**. These relationships utilize the built-in `media_attachments` table included in the package migrations.

#### 2. Prepare your Model

[](#2-prepare-your-model)

Add the trait and define your specific relationships. Don't forget to add the foreign keys to your `$fillable` array.

```
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Slimani\MediaManager\Concerns\InteractsWithMediaFiles;

class User extends Model
{
    use InteractsWithMediaFiles;

    protected $fillable = [
        'name',
        'email',
        'avatar_id',
        'cv_id',
    ];

    public function avatar(): \Illuminate\Database\Eloquent\Relations\BelongsTo
    {
        return $this->mediaFile('avatar_id');
    }

    public function cv(): \Illuminate\Database\Eloquent\Relations\BelongsTo
    {
        return $this->mediaFile('cv_id');
    }

    /**
     * Optional: Define custom collection relationships
     */
    public function documents(): \Illuminate\Database\Eloquent\Relations\MorphToMany
    {
        return $this->mediaFiles('documents');
    }
}
```

### Media Picker Field

[](#media-picker-field)

Use the `MediaPicker` field in your Filament forms. It uses the "Prepare Model" setup to handle file selection via a modal.

```
use Slimani\MediaManager\Form\MediaPicker;
use Filament\Forms\Form;

public static function form(Form $form): Form
{
    return $form
        ->schema([
            // Single file selection with specific names (requires InteractsWithMediaFiles in Model)
            MediaPicker::make('avatar_id')
                ->relationship('avatar')
                ->label('User Avatar')
                ->required(),

            MediaPicker::make('cv_id')
                ->relationship('cv')
                ->label('User CV'),

            // Multiple file selection (requires MorphToMany relationship in Model)
            MediaPicker::make('documents')
                ->relationship('documents')
                ->multiple()
                ->label('User Documents'),
        ]);
}
```

### Media Column

[](#media-column)

Display media in your Filament tables using the `MediaColumn`:

```
use Slimani\MediaManager\Tables\Columns\MediaColumn;

MediaColumn::make('avatar')
    ->circular()
    ->stacked()
```

### Media Infolist Entries

[](#media-infolist-entries)

The package provides two types of infolist entries: `MediaImageEntry` for image-specific features and `MediaFileEntry` for general file types with preview actions.

#### Media Image Entry

[](#media-image-entry)

Use `MediaImageEntry` when you want to display image thumbnails with native Filament `ImageEntry` features (circular, stacked, etc.) and media manager conversion support.

```
use Slimani\MediaManager\Infolists\Components\MediaImageEntry;

MediaImageEntry::make('avatar')
    ->label('User Avatar')
    ->conversion('thumb') // Optional, defaults to 'thumb'
    ->circular() // Native Filament feature
    ->width(100)
```

#### Media File Entry

[](#media-file-entry)

Use `MediaFileEntry` for a generic media display that includes an automatic "Open Preview" action, ideal for documents, videos, and mixed media.

```
use Slimani\MediaManager\Infolists\Components\MediaFileEntry;

MediaFileEntry::make('cv')
    ->label('User CV')
```

Both components support the media preview action that opens files in a slide-over.

### Rich Text Editor Integration

[](#rich-text-editor-integration)

The Media Manager integrates deeply with Filament's `RichEditor`, allowing you to insert images directly from your media library and ensuring that images always use fresh, valid URLs (supporting signed/temporary URLs).

#### 1. Prepare your Model

[](#1-prepare-your-model)

Implement the `HasRichContent` interface and use the `InteractsWithRichContent` trait. Then, use `setUpRichContent` to register the media manager configuration for your field.

```
use Filament\Forms\Components\RichEditor\Models\Concerns\InteractsWithRichContent;
use Filament\Forms\Components\RichEditor\Models\Contracts\HasRichContent;
use Slimani\MediaManager\Form\RichEditor\MediaManagerRichContentPlugin;

class User extends Authenticatable implements HasRichContent
{
    use InteractsWithRichContent;

    public function setUpRichContent(): void
    {
        $this->registerRichContent('resume')
            ->plugins([
                MediaManagerRichContentPlugin::make()
                    ->collection('preview')
                    ->directory('User/Resumes'),
            ]);
    }
}
```

> **Note**: Implementing `HasFileAttachmentProvider` in the plugin means that Filament automatically resolves the correct provider. You no longer need to call `fileAttachmentProvider()` manually on the attribute or renderer.

#### 2. Use in Forms

[](#2-use-in-forms)

Add the `MediaManagerRichContentPlugin` to your `RichEditor` component. This adds a "Media Library" button to the toolbar.

```
use Filament\Forms\Components\RichEditor;
use Slimani\MediaManager\Form\RichEditor\MediaManagerRichContentPlugin;

RichEditor::make('resume')
    ->plugins([
        MediaManagerRichContentPlugin::make()
            ->acceptedFileTypes(["image/*"]), // Optional: Limit to images only
    ])
```

#### 3. Use in Infolists (Dynamic Rendering)

[](#3-use-in-infolists-dynamic-rendering)

To ensure that images in your rich text always use fresh URLs (especially important if using temporary or signed URLs), use the `renderRichContent` method in your Infolist.

```
use Filament\Infolists\Components\TextEntry;

TextEntry::make('resume')
    ->html()
    ->state(fn ($record) => $record->renderRichContent('resume'))
```

This method parses the stored HTML and resolves each image ID into a fresh URL on the fly, solving the "expired link" problem entirely.

### Plugin Customization

[](#plugin-customization)

You can customize the Media Manager directly in your Panel Provider:

```
use Slimani\MediaManager\MediaManagerPlugin;

MediaManagerPlugin::make()
    ->navigationGroup('System')
    ->navigationLabel('Assets')
    ->navigationIcon('heroicon-o-folder')
    ->navigationSort(5)
    ->shouldRegisterNavigation(fn () => auth()->user()->isAdmin())
    ->headerWidgets([
        MyCustomWidget::class,
    ])
    ->footerWidgets([
        AnotherWidget::class,
    ])
    ->header(view('custom.header'))
    ->footer(view('custom.footer'))
    ->withVideoThumbnails() // Optional: Enable video thumbnails (requires FFMPEG)
```

#### Video Thumbnails

[](#video-thumbnails)

Thumbnail generation for videos is handled natively by the underlying Spatie MediaLibrary when **FFMPEG** and **FFProbe** are installed on your server.

To use this feature, you must install the FFMPEG PHP dependency:

```
composer require php-ffmpeg/php-ffmpeg
```

For more information on video processing requirements, please refer to the [Spatie MediaLibrary Documentation](https://spatie.be/docs/laravel-medialibrary/v11/advanced-usage/generating-thumbnails-for-videos).

#### Media Library Conversions

[](#media-library-conversions)

You can customize or add media conversions from your application's `AppServiceProvider` or a dedicated Service Provider. Default conversions (`thumb` and `preview`) are registered first, and your callback can override them or add new ones.

```
use Slimani\MediaManager\Models\File;
use Spatie\MediaLibrary\MediaCollections\Models\Media;

public function boot(): void
{
    File::registerMediaConversionsUsing(function (File $file, ?Media $media = null) {
        // Override default 'thumb' (300x300)
        $file->addMediaConversion('thumb')
            ->width(150)
            ->height(150)
            ->nonQueued();

        // Add a new custom conversion
        $file->addMediaConversion('square')
            ->width(500)
            ->height(500)
            ->nonQueued();

        // Default 'preview' (800x800) is kept if not overridden
    });
}
```

#### Using Conversions in Components

[](#using-conversions-in-components)

After defining your conversions, you can specify which one to use in your components using the `conversion()` method. This controls which conversion is used for the table thumbnail, infolist image, or form picker preview.

```
use Slimani\MediaManager\Tables\Columns\MediaColumn;
use Slimani\MediaManager\Infolists\Components\MediaImageEntry;
use Slimani\MediaManager\Form\MediaPicker;

// In Tables
MediaColumn::make('avatar')
    ->conversion('thumb')

// In Infolists
MediaImageEntry::make('avatar')
    ->conversion('preview')

MediaFileEntry::make('cv')
    ->conversion('thumb')

// In Forms (controls the picker's file preview)
MediaPicker::make('avatar_id')
    ->conversion('thumb')
```

All components default to the `thumb` conversion if none is specified.

Testing &amp; Support
---------------------

[](#testing--support)

### Seeders Example

[](#seeders-example)

To populate your media manager with initial data, you can use a seeder. Here is an example of how to set up folders and files:

```
use Slimani\MediaManager\Models\Folder;
use Slimani\MediaManager\Models\File;

public function run(): void
{
    $images = Folder::create(['name' => 'Project Images']);
    $docs = Folder::create(['name' => 'Documents']);

    // here should be the code if you have real files
    // for now we will use dummy data

    $banner = File::create([
        'name' => 'Main Banner',
        'folder_id' => $images->id,
        'size' => 1024,
        'extension' => 'jpg',
        'mime_type' => 'image/jpeg',
        'uploaded_by_user_id' => 1,
    ]);

    // Attach actual media using Spatie MediaLibrary
    $banner->addMediaFromUrl('https://picsum.photos/1200/800')
        ->toMediaCollection('default');
}
```

### Running Tests

[](#running-tests)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](SECURITY.md) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [CodeWithDennis - Select Tree](https://filamentphp.com/plugins/codewithdennis-select-tree)
- [HugoMyb - Media Action](https://filamentphp.com/plugins/hugomyb-media-action)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance91

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

29

Last Release

52d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/889517e68d00e2c3709f76b1b944493e4303ff205c6a836108fb8dae6eb50cb6?d=identicon)[slimani](/maintainers/slimani)

---

Top Contributors

[![slimani-dev](https://avatars.githubusercontent.com/u/25089144?v=4)](https://github.com/slimani-dev "slimani-dev (56 commits)")

---

Tags

filament-pluginlaravelspatie-media-librarylaravelmedia libraryfilamentMedia Manager

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/slimani-filament-media-manager/health.svg)

```
[![Health](https://phpackages.com/badges/slimani-filament-media-manager/health.svg)](https://phpackages.com/packages/slimani-filament-media-manager)
```

###  Alternatives

[mwguerra/filemanager

A full-featured file manager package for Laravel and Filament v5 with dual operating modes, drag-and-drop uploads, S3/MinIO support, and comprehensive security features.

718.5k1](/packages/mwguerra-filemanager)[shuvroroy/filament-spatie-laravel-backup

This plugin is built on top of Spatie's Laravel-backup package

268356.4k6](/packages/shuvroroy-filament-spatie-laravel-backup)[tomatophp/filament-media-manager

Manage your media files using spatie media library with easy to use GUI for FilamentPHP

14543.9k3](/packages/tomatophp-filament-media-manager)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)[tapp/filament-form-builder

User facing form builder using Filament components

131.2k1](/packages/tapp-filament-form-builder)[josefbehr/filament-spatie-media-library-croppie

A filament form field for image upload using spatie media library and croppie.js

126.6k](/packages/josefbehr-filament-spatie-media-library-croppie)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
