PHPackages                             codezone/filament-mediazone - 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. [Image &amp; Media](/categories/media)
4. /
5. codezone/filament-mediazone

ActiveLibrary[Image &amp; Media](/categories/media)

codezone/filament-mediazone
===========================

A media manager package for Laravel Filament.

0.0.1(today)00MITPHPPHP ^8.2CI passing

Since Jun 26Pushed todayCompare

[ Source](https://github.com/thecodezone/filament-mediazone)[ Packagist](https://packagist.org/packages/codezone/filament-mediazone)[ Fund](https://www.paypal.com/donate/?hosted_button_id=T2TCWZXD7J97E)[ RSS](/packages/codezone-filament-mediazone/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (11)Versions (2)Used By (0)

[![Banner](banner.png)](banner.png)

Filament MediaZone
==================

[](#filament-mediazone)

A full-featured media manager for [Laravel Filament](https://filamentphp.com/). Upload, browse, crop, and serve images and files from any Laravel filesystem disk — all within your Filament admin panel. Made with care by [CodeZone](https://codezone.io).

**[Full documentation →](https://thecodezone.github.io/filament-mediazone/)**

[![Media library grid view](screenshot-1.png)](screenshot-1.png)

---

Features
--------

[](#features)

- **Media library** — Grid and list browsing with search, folder, and type filters
- **File uploads** — Drag-and-drop or click-to-upload with configurable accepted types and size limits
- **Image cropping** — Interactive cropper with presets, locations, aspect ratio, format, and quality controls
- **Glide integration** — On-the-fly image transformations served via [League Glide](https://glide.thephpleague.com/) with signed URLs
- **MediaPicker field** — Drop-in Filament form field for single or multi-select media on any form
- **Configurable model** — Bring your own `Media` model; the package derives the table name automatically
- **Tenant-aware** — Works with Filament's multi-tenancy; edit URLs resolve with the correct tenant context
- **Rename files** — Rename media directly from the edit form; the physical file on disk is moved automatically

---

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

[](#requirements)

- PHP 8.2+
- Laravel 11 or 12
- Filament 3.2+
- Livewire 3.0+
- Imagick or GD extension

---

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

[](#installation)

### 1. Require the package

[](#1-require-the-package)

```
composer require codezone/filament-mediazone
```

### 2. Publish and run the migration

[](#2-publish-and-run-the-migration)

```
php artisan vendor:publish --tag=mediazone-migrations
php artisan migrate
```

### 3. Publish the config

[](#3-publish-the-config)

```
php artisan vendor:publish --tag=mediazone-config
```

This creates `config/media.php`. See the [Configuration docs](https://thecodezone.github.io/filament-mediazone/configuration.html) for all available options.

### 4. Publish assets

[](#4-publish-assets)

```
php artisan filament:assets
```

Run this once after install and again after each upgrade.

### 5. Register the plugin

[](#5-register-the-plugin)

Add `MediaZonePlugin` to your Filament panel provider:

```
use Codezone\MediaZone\MediaZonePlugin;

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

### 6. Configure a filesystem disk

[](#6-configure-a-filesystem-disk)

Add a `media` disk to `config/filesystems.php` (or point `MEDIA_FILESYSTEM_DISK` to an existing disk):

```
'media' => [
    'driver' => 'local',
    'root'   => storage_path('app/public/media'),
    'url'    => env('APP_URL').'/storage/media',
    'visibility' => 'public',
],
```

---

Quick start
-----------

[](#quick-start)

After installation, navigate to **Content → Media** in your Filament panel. Upload files via the **Create** button or drag-and-drop.

To add a media picker to any Filament form:

```
use Codezone\MediaZone\Forms\Components\MediaPicker;

MediaPicker::make('image_id')
    ->label('Featured Image'),
```

For full usage — including crop presets, locations, multi-select, and custom models — see the **[documentation](https://thecodezone.github.io/filament-mediazone/)**.

[![List view](screenshot-2.png)](screenshot-2.png)[![Image cropper](screenshot-3.png)](screenshot-3.png)[![Saved crops](screenshot-4.png)](screenshot-4.png)[![MediaPicker form field](screenshot-5.png)](screenshot-5.png)---

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

[](#contributing)

### Prerequisites

[](#prerequisites)

- [PHP 8.2+](https://www.php.net/)
- [Composer](https://getcomposer.org/)
- [Node.js 20+](https://nodejs.org/) and npm
- [Imagick](https://www.php.net/manual/en/book.imagick.php) PHP extension

### Setting up the development environment

[](#setting-up-the-development-environment)

The package is developed as part of a Laravel application using [ddev](https://ddev.com/). If you are working within that monorepo, the environment is already running. For standalone development, install dependencies directly:

```
# PHP dependencies
composer install

# Node dependencies
npm install
```

### Running the test suite

[](#running-the-test-suite)

```
vendor/bin/phpunit
```

Tests use [Orchestra Testbench](https://github.com/orchestral/testbench) and run against both Laravel 11 and 12. The CI matrix covers PHP 8.2 and 8.3.

### Linting

[](#linting)

All three linters must pass before a PR can merge.

```
# Check only (what CI runs)
vendor/bin/pint --test
npm run eslint
npm run stylelint

# Auto-fix
vendor/bin/pint
npm run eslint:fix
npm run stylelint:fix

# Fix everything at once
npm run fix
```

Code style follows the [Laravel Pint](https://laravel.com/docs/pint) preset with `declare_strict_types` enforced. JavaScript follows the ESLint config in `eslint.config.js`. CSS follows the Stylelint BEM pattern config.

### Pull requests

[](#pull-requests)

1. Fork the repository and create a branch from `main`
2. Make your changes with tests where applicable
3. Ensure `vendor/bin/phpunit`, `vendor/bin/pint --test`, `npm run eslint`, and `npm run stylelint` all pass
4. Open a pull request against `main` — CI will run automatically

### Documentation

[](#documentation)

Documentation lives in `Writerside/topics/` as Markdown files and is built with [JetBrains Writerside](https://www.jetbrains.com/writerside/). It is automatically deployed to [GitHub Pages](https://thecodezone.github.io/filament-mediazone/) on every push to `main`. Edit the topic files and the build will update on merge.

---

About CodeZone
--------------

[](#about-codezone)

[CodeZone](https://codezone.io) is a web development studio specializing in Laravel, Filament, and modern PHP applications. We build tools and packages that help developers ship great products faster.

Support CodeZone
----------------

[](#support-codezone)

Filament MediaZone is free and open source. If it saves you time, consider [supporting ongoing development via PayPal](https://www.paypal.com/donate/?hosted_button_id=T2TCWZXD7J97E).

---

License
-------

[](#license)

MIT — see [LICENSE](LICENSE) for details.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

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

Unknown

Total

1

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5910297?v=4)[Craig Wann](/maintainers/incraigulous)[@incraigulous](https://github.com/incraigulous)

---

Top Contributors

[![incraigulous](https://avatars.githubusercontent.com/u/5910297?v=4)](https://github.com/incraigulous "incraigulous (25 commits)")

---

Tags

cropcropperfilamentfilamentphpfile-managerimagemediamedia-managermedia-resourceuploadslaravelmedialivewirefilamentMedia Manager

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/codezone-filament-mediazone/health.svg)

```
[![Health](https://phpackages.com/badges/codezone-filament-mediazone/health.svg)](https://phpackages.com/packages/codezone-filament-mediazone)
```

###  Alternatives

[awcodes/filament-curator

A media picker plugin for FilamentPHP.

436333.6k24](/packages/awcodes-filament-curator)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[webplusm/gallery-json-media

a filament media storing in a Json field

196.7k](/packages/webplusm-gallery-json-media)[ralphjsmit/laravel-glide

Auto-magically generate responsive images from static image files.

4923.6k5](/packages/ralphjsmit-laravel-glide)[wotz/filament-media-library

Media Library package for Filament

181.5k12](/packages/wotz-filament-media-library)[danihidayatx/image-optimizer

Optimize your Filament images before they reach your database. Forked from joshembling/image-optimizer for Filament v4 &amp; v5 support.

3113.6k](/packages/danihidayatx-image-optimizer)

PHPackages © 2026

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