Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Entity API 8.x-1.8 Minor update available for module entity (8.x-1.8). Release: Raven: Sentry Integration 7.5.2 Minor update available for module raven (7.5.2). Release: Leaflet 10.4.12 Minor update available for module leaflet (10.4.12). Release: Extra Paragraph Types (EPT): Core 2.0.1 Minor update available for module ept_core (2.0.1). Release: FileGate 1.8.0 Minor update available for module file_gate (1.8.0). Release: Field Guard 1.2.0 Minor update available for module field_guard (1.2.0). Release: Govuk Theme 3.1.13 Minor update available for theme govuk_theme (3.1.13). Release: Acquia Analytics Redirects 2.0.2 Minor update available for module acquia_analytics_redirects (2.0.2). Module Revived: Translation Management Tool 8.x-1.19 Module tmgmt updated after 7 months of inactivity (8.x-1.19). Usage Milestone: Account field split Module account_field_split crossed 10,000 active installs.

Drupal File Manager

15 sites Security covered
View on drupal.org

File Manager provides a Drupal-native interface for browsing, uploading, downloading, renaming, moving, copying, zipping, and unzipping files. It integrates directly with Drupal's file entities, permissions, and logging, allowing for secure management within a configurable root directory with per-user subdirectory patterns.

File Manager gives Drupal a real file manager for one folder root you choose. Browse, upload, download, rename, move, copy, zip, unzip and preview files right from the admin UI.

No iframe. No bundled JavaScript file-manager library. No third-party PHP app. Everything runs through Drupal's own APIs, permissions and logging, and every file it shows is a managed File entity so the rest of Drupal tracks it like any other file.

The listing and its operations stay inside the root you set. Per-user and per-role folder patterns keep each person in their own space while admins see the whole tree.

Key features

  • Browse and manage: a sortable listing with breadcrumbs, folders and search. Rename, move, copy, delete, new folder, zip, unzip, replace and upload each open an inline AJAX modal that refreshes the list in place, no full page reload.
  • Chunked, resumable uploads: big files upload in chunks staged on the shared filesystem, so multi-server sites finalize fine. Guarded by CSRF, extension rules and a size cap, with drag and drop.
  • Replace in place: swap a file's contents while keeping its identity. The managed File id, usage and any tags survive, and a type guard blocks a replace that would change the real file type (a .zip swapped for a .jpg).
  • Preview and download: modal preview for images, text and PDFs, plus confirmed downloads and inline serving, all CSRF-guarded.
  • Zip and unzip: compress files and folders into an archive or extract one, with zip-slip protection and caps on the extracted size and file count.
  • Path confinement: every path is normalized and checked to stay inside the root. No .. tricks, no null bytes, no escaping through symlinks. Filenames get sanitized too.
  • Per-user and per-role roots: weight-ordered, token-aware path patterns put each user in their own subdirectory (the default gives everyone users/[user:uuid]). Admins can bypass and see the whole root.
  • Per-operation permissions: download, upload, new folder, rename, replace, move/copy, delete, compress and extract are each their own permission, so a role gets exactly the operations you want.
  • Extension safety: executables and browser-active files (php, sh, exe, html, svg, xml ...) are hard-denied and cannot be turned back on. Add your own denied and allowed lists on top. The rules check every extension segment, so evil.php.txt is blocked too.
  • Managed-file backed: every file is a permanent managed File entity with disk as the source of truth. A first-run scan registers the files you already have, public and private.
  • Full audit trail: every operation logs the acting user, IP and time.
  • Native theming: renders in your admin theme (built for Gin) with normal render arrays and Twig. No embedded third-party UI.
  • Extensible: badge plugins annotate file and breadcrumb rows, and alter/react hooks let other modules add columns, add or block operations, extend search and react to file events.

Submodules

Enable only what you need.

  • File Manager Tags: colored, role-scoped tags for files and folders. Tags are content entities owned by their creator and, with an extra permission, shareable with chosen roles. A tag with no roles stays private. A Tags column assigns and removes them inline, and you can search by tag.
  • File Manager Share: password-protected public shares of files and folders, plus Public/Private sub-tabs for private files. Shares can expire, self-destruct after the first download and are flood-limited against brute force.
  • File Manager CKEditor: an "Insert from file manager" button for CKEditor 5 that browses the managed root and inserts files or images with usage tracking. The picker is extensible with plugins and configurable per text format.
  • File Manager AI: an AI summary badge on text files, PDFs and images that opens an LLM-generated summary. Needs the AI (ai) module and a chat provider. Model and prompt are configurable.
  • File Manager Lock: lock files and folders against rename, move, copy, replace and delete, with an optional password to unlock.
  • File Manager Trash: a recycle bin. Deletes go to the trash to be restored or removed for good, with a cron purge after a retention period (30 days by default).
  • File Manager Quota: per-user and per-role storage quotas. Uploads stop at the cap, an optional meter shows usage, and a bypass permission exempts trusted roles.

Screenshots

Configuration

  1. Set the root directory and limits at Administration > Configuration > Media > File Manager (/admin/config/media/file-manager). Settings sit under General, Files and Paths.
  2. Grant the permissions each role should have. Operations are gated one by one, so a role can download and upload without being able to delete.
  3. Manage files at Administration > Content > File Manager (/admin/content/file-manager).
  4. On first run, let it scan the root and register your existing files (or run drush fm:convert).

Usage

  1. Go to Content > File Manager and browse with the breadcrumb and folder links, or search the current root.
  2. Row and bulk operations - Rename, Move/Copy, Delete, Zip, Unzip, Replace, Download - open a modal and refresh the list when it closes.
  3. Create folders and upload from the actions above the list. Uploads take drag and drop and large chunked files.
  4. Preview an image, text file or PDF in a modal without downloading it.

Dependencies

  • The Token module, for the path pattern tokens.

Built with AI assistance

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Jul 2026
Latest release
1 month ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-alpha1 Pre-release 11 Jul 13, 2026