Skip to content

Media Library Pro vs Media Manager (tomatophp) ​

tomatophp/filament-media-manager is a free Filament plugin that manages Spatie media through a GUI. It supports Filament 4 and 5. It suits projects that already use Spatie media and want folders and an input that picks from them.

For the full matrix and the note on the ralphjsmit product, see the comparison overview.

What it does well ​

  • Spatie underneath. "Manage your media files using spatie media library" through a GUI, so existing collections keep working.
  • Folders. Folders and optional subfolders (->allowSubFolders()), with auto-created folders for a model, collection or record.
  • Access control. Password-protected folders, and per-user folder access with ->allowUserAccess() and the InteractsWithMediaFolders trait.
  • Two components. MediaManagerInput uploads directly and MediaManagerPicker browses and selects. Several pickers on one page can use separate collections.
  • Extras. RTL and multi-language support, dark mode, drag reordering, previews, responsive images and min/max selection validation.
  • Free and open source.

Differences that matter ​

Media Library Protomatophp Media Manager
Filament4 and 54 and 5
FoldersNested, drag to move, private foldersFolders and optional subfolders, password protection
Private filesPer-user, with signed links and temporary S3 URLsPassword-protected folders and per-user folder access
Tags, focal point, editorIncludedNot documented
Usage tracking and delete guardIncludedNot documented
Chunked uploads, duplicates, URL importIncludedNot documented
TenancyFilament, stancl/tenancy or custom, with quotasNot documented
Table columns, infolist entries, rich editorIncludedNot documented
PriceCommercial licenceNo paid tier documented

Both are RTL-aware. This plugin ships English and Arabic and mirrors the whole layout, see Translations, theming and RTL.

Migrating ​

If your files are Spatie media rows, import them with the Spatie source:

bash
php artisan media-library:import spatie --model="App\Models\Post" --collection=gallery --dry-run
php artisan media-library:import spatie --folder="Imported" --move

Each file gets a library record and an attachment that points back to its original model and collection, so existing usage is preserved. --move deletes the original Spatie media after copying. Folder structure is not carried over: files land in --folder, or in Imported/<model name> by default. For files that live in plain directories, use the directory source, which turns sub-folders into library folders. See Importing existing files.

Swap your MediaManagerInput fields for MediaPicker after the import.

When to pick which ​

Pick tomatophp's Media Manager when it is free, your files are already Spatie media, and folders with a password are the main thing you need.

Pick Media Library Pro when you need tags, a focal point, an editor, usage tracking, large uploads, tenant isolation, or table and infolist components that go with the picker. See the overview.

Commercial licence. One licence per production project. Terms · Privacy · Refunds