PHPackages                             mydnic/filament-file-browser - 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. mydnic/filament-file-browser

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

mydnic/filament-file-browser
============================

A S3-compatible file browser to list, delete and upload files on any configured disks

v2.0.2(4mo ago)21.4k[3 PRs](https://github.com/mydnic/filament-file-browser/pulls)MITPHPPHP ^8.2CI passing

Since Aug 11Pushed 1mo agoCompare

[ Source](https://github.com/mydnic/filament-file-browser)[ Packagist](https://packagist.org/packages/mydnic/filament-file-browser)[ Docs](https://github.com/mydnic/filament-file-browser)[ GitHub Sponsors](https://github.com/Mydnic)[ RSS](/packages/mydnic-filament-file-browser/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (36)Versions (11)Used By (0)

Filament File Browser
=====================

[](#filament-file-browser)

A clean and modern file browser plugin for Filament that allows you to browse, upload, and manage files across different filesystem disks, including S3 buckets. The interface mimics traditional OS file explorers like Dolphin on Linux.

Features
--------

[](#features)

- 🗂️ **Multi-disk Support**: Browse files on any configured Laravel filesystem disk (local, S3, etc.)
- 📁 **Folder-first Listing**: Displays folders first, then files (like traditional file explorers)
- ✅ **Multi-selection**: Select multiple files/folders with checkboxes for bulk operations
- 📤 **File Upload**: Upload files directly to the current directory
- 📥 **Download**: Download individual files or multiple files as ZIP
- 🗑️ **Delete**: Delete files and folders with confirmation
- 🔗 **Open in New Tab**: Open files in a new browser tab
- 🧭 **Breadcrumb Navigation**: Easy navigation through directory structure
- 🎨 **Native Filament Components**: Uses Filament's native UI components for consistency

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

[](#installation)

Install the package via Composer:

```
composer require mydnic/filament-file-browser
```

Publish the configuration file:

```
php artisan vendor:publish --tag="filament-file-browser-config"
```

Usage
-----

[](#usage)

### Register the Plugin

[](#register-the-plugin)

Add the plugin to your Filament panel in your `PanelProvider`:

```
use Mydnic\FilamentFileBrowser\FilamentFileBrowserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... other configuration
        ->plugins([
            FilamentFileBrowserPlugin::make(),
        ]);
}
```

### Configuration

[](#configuration)

The plugin can be configured via the published configuration file `config/filament-file-browser.php`:

```
return [
    // The default disk to use when the file browser is first loaded
    'default_disk' => 'public',

    // Navigation settings
    'navigation_group' => 'Files',
    'navigation_sort' => 0,

    // Temporary directory for zip downloads
    'temp_directory' => storage_path('app/temp'),

    // Maximum upload file size in MB
    'max_upload_size' => 10,

    // Allowed file extensions for upload (empty array means all extensions are allowed)
    'allowed_extensions' => [],

    // Disks to show in the file browser (empty array means all disks are shown)
    'disks' => [],
];
```

### Filesystem Configuration

[](#filesystem-configuration)

Make sure your filesystem disks are properly configured in `config/filesystems.php`. For S3:

```
'disks' => [
    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
        'endpoint' => env('AWS_ENDPOINT'),
        'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
    ],
],
```

Architecture
------------

[](#architecture)

The plugin follows a clean, modern architecture:

- **FileBrowserPage**: Main Filament page using native components
- **FileBrowserService**: Handles all file operations (upload, delete, zip creation)
- **Native Filament Components**: Uses Filament's built-in form components, actions, and UI elements
- **Custom Table View**: Only the file browser table uses a custom Blade view for optimal UX

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.0+
- Filament 3.0+

License
-------

[](#license)

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

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance82

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.1% 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 ~79 days

Total

4

Last Release

134d ago

Major Versions

v1.0.0 → v2.0.02026-03-22

PHP version history (2 changes)v1.0.0PHP ^8.1

v2.0.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc52c3eeee29c610da76c047b3cec562c062ebb747e5e3ef097677373269b7e4?d=identicon)[mydnic](/maintainers/mydnic)

---

Top Contributors

[![mydnic](https://avatars.githubusercontent.com/u/2733767?v=4)](https://github.com/mydnic "mydnic (23 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (2 commits)")

---

Tags

laravelmydnicfilament-file-browser

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mydnic-filament-file-browser/health.svg)

```
[![Health](https://phpackages.com/badges/mydnic-filament-file-browser/health.svg)](https://phpackages.com/packages/mydnic-filament-file-browser)
```

###  Alternatives

[backstage/mails

View logged mails and events in a beautiful Filament UI.

16429.7k](/packages/backstage-mails)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3915.5k](/packages/rawilk-profile-filament-plugin)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

85240.3k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6758.2k2](/packages/marcelweidum-filament-passkeys)[relaticle/custom-fields

User Defined Custom Fields for Laravel Filament

16461.2k](/packages/relaticle-custom-fields)[marcelweidum/filament-expiration-notice

Customize the livewire expiration notice

94160.6k6](/packages/marcelweidum-filament-expiration-notice)

PHPackages © 2026

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