Free for Craft CMS 5
File assets by what they are, not where they live
Craft's asset index is a file browser: volumes, folders and a search box. That answers where a file lives, and not the question an editor actually asks — where are the team photos? Library adds collections that cut across every volume, and puts them in every place an asset gets chosen.
One hook, four places
Collections are native condition rules on Craft's own asset condition. Craft asks that same condition class in the index filter toolbar, asset field selector modals, asset field settings and custom sources — so the filter turns up in all four, enforced in SQL, composing with search and Craft's own rules.
{# Everything in Brand, children included #}
{% for image in craft.library.assets('brand').kind('image').all() %}
<img src="{{ image.url }}" alt="{{ image.alt }}">
{% endfor %}
{# Is this file filed under Press kit? #}
{% if craft.library.isIn(asset, 'pressKit') %}…{% endif %}
Features
The Craft answer to WordPress's Enhanced Media Library — native sources and condition rules, not a bolted-on UI.
Collections across volumes
A taxonomy for assets that ignores folders. Collections nest, carry a colour and a description, and appear as sources in the asset index and in the selector modal an editor opens from an entry.
- Content, not project config — editors make them without a deploy
- Empty collections list nothing, never everything
Filters that work everywhere
Collection, Orientation, Is used anywhere and Has duplicate copies, on the filter toolbar, in field modals, in field settings to restrict what a field accepts, and in custom sources.
Bulk editing
Select assets and add or remove collections in one insert, set alt text from filenames or titles, rename files with a previewed pattern, or move them to another volume without breaking a single reference.
- Rename and Move to volume are Pro
Where is this used?
Pro shows every entry that points at an asset — relations read live, reference tags found by a scan — with drafts and revisions left out, because on a site with revisions they make almost every file look used.
Duplicates, merged safely
Pro compares by size first and hashes only files that share one, so nothing on a remote volume is downloaded without a possible twin. Merging repoints every relation onto the original and trashes the copy — reversibly.
An alt text audit
A Missing alt text source on every edition, and on Pro an audit with per-site counts. Generated alt text only ever fills an empty attribute — it never replaces one somebody wrote.
Upload rules
Pro files new uploads into collections by volume, folder, file kind and filename pattern — including files uploaded through an asset field, which Craft only moves into a volume when the entry is saved.
- Backfill applies a new rule to what's already there, on the queue
Frequently Asked Questions
The questions worth answering before you install it.
Lite is, and it is not a trial — collections, the collection sources and filter, orientation, the Missing alt text source and the collection and alt text bulk actions, for nothing. Pro is a one-off $79 with a $59/year renewal, and adds usage tracking, duplicate detection, the audit screens, upload rules, bulk rename and move to volume.
No. A collection is not a folder, and filing an asset into one changes nothing on disk. Library only moves or renames a file when you run Rename files or Move to volume yourself.
No, on purpose. Collections are content that editors create, not schema that developers deploy, so they live in the database and an editor can make one on production without a deployment.
A source can only carry criteria Craft enforces, and neither can be expressed in a native asset param without listing thousands of IDs. They are filter rules instead — which compose with everything else — and screens on the Audit page.
Fields won't: every relation is repointed onto the original before the copy goes to the trash. A reference tag someone typed into text by hand is reported, not rewritten, so check the copy's usage list first.
No, and it says so. Alt text from a filename is a first draft that is easier to correct than a blank field is to notice. It only ever fills an empty attribute.
Craft CMS 5.3+ and PHP 8.2+.
Start free, upgrade when you need to
Lite is free and covers collections, filters and bulk filing. Pro is $79 with a $59/year renewal, and adds usage tracking, duplicates, the audits and upload rules.