mmes-design/filament-file-manager

A beautiful file manager plugin for Filament. Browse, upload, rename, move and delete files with ease.
469 9
Install
composer require mmes-design/filament-file-manager
Latest Version:v1.2.0
PHP:^8.2
License:MIT
Last Updated:Mar 20, 2026
Links: GitHub  ·  Packagist
Maintainer: mmes-design

Filament File Manager

A file manager plugin for Filament. Browse, upload, rename, move, and delete files directly from your admin panel.

Filament File Manager

Features

  • Grid and list view with sorting (name, size, date, type)
  • Upload files with size and batch limits
  • Create, rename, move, and delete files and folders
  • Bulk operations (delete, move) with multi-select
  • File preview for images, video, audio, code, and documents
  • Automatic thumbnail generation for images
  • FilePicker form component for selecting files in your resources
  • Breadcrumb navigation
  • Keyboard shortcuts (Ctrl+A, Delete, F2, Escape)
  • Dark mode support
  • Translations (English, Italian)
  • Security: path sanitization and blocked dangerous extensions

Requirements

  • PHP 8.2+
  • Laravel 11+
  • Filament 5+

Installation

composer require mmes-design/filament-file-manager

Register the plugin in your panel provider:

use MmesDesign\FilamentFileManager\FileManagerPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FileManagerPlugin::make(),
        ]);
}

Add the package to your Tailwind CSS sources in resources/css/app.css:

@source '../../vendor/mmes-design/filament-file-manager';

Publish the assets:

php artisan filament:assets

Publish the configuration (optional):

php artisan vendor:publish --tag=filament-file-manager-config

Configuration

Plugin options

FileManagerPlugin::make()
    ->defaultDisk('public')
    ->navigationGroup('Content')
    ->navigationIcon('heroicon-o-folder')
    ->navigationSort(5)

Disk

This package supports local disks only (local, public). Remote disks (S3, FTP, etc.) are available in the Pro version.

Config file

The published config file (config/filament-file-manager.php) lets you customize:

return [
    // Default filesystem disk
    'disk' => 'public',

    // Blocked file extensions
    'denied_extensions' => [
        'php', 'exe', 'bat', 'sh', 'bash', // ...
    ],

    // Upload limits
    'max_upload_size' => 50 * 1024,    // 50 MB in KB
    'max_uploads_per_batch' => 20,

    // Infinite scroll: files loaded per batch (folders always load fully)
    'per_page' => 50,

    // Thumbnail settings
    'thumbnails' => [
        'enabled' => true,
        'directory' => '.thumbnails',
        'width' => 200,
        'height' => 200,
        'quality' => 80,
    ],
];

Usage

File Manager page

The plugin registers a File Manager page in your panel navigation automatically. It includes folder navigation, breadcrumbs, upload, bulk operations, preview, and sorting.

FilePicker form component

Use FilePicker in your Filament resources to let users select files:

use MmesDesign\FilamentFileManager\Forms\Components\FilePicker;

FilePicker::make('document')

Multiple selection

FilePicker::make('attachments')
    ->multiple()

Filter by file category

use MmesDesign\FilamentFileManager\Enums\FileCategory;

FilePicker::make('photo')
    ->acceptedCategories([FileCategory::Image])

FilePicker::make('media')
    ->acceptedCategories([FileCategory::Image, FileCategory::Video])

Available categories: Image, Document, Audio, Video, Archive, Code, Other.

Image preview

When the only accepted category is Image, thumbnail preview is enabled automatically. You can also enable it manually:

FilePicker::make('cover')
    ->imagePreview()

Specific disk

FilePicker::make('private_doc')
    ->disk('local')

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

License

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