File Rack
Admin dashboard — nested folders, drag-and-drop uploads, grid view with thumbnails, and toolbar actions.

Admin dashboard — nested folders, drag-and-drop uploads, grid view with thumbnails, and toolbar actions.

File Rack — the modern file manager for WordPress. Upload, organize, and share documents from an explorer-style dashboard — then publish a beautiful, mobile-friendly file browser on any page with one shortcode or block.

🎬 Watch the demo:

No page builder required. Works with every theme.

🆓 Free — admin dashboard, drag-and-drop uploads, folder ZIP downloads, frontend file browser, preview modal, 8 themes, 13 icon packs
⭐ Pro — cloud storage (S3/R2/Spaces), protected folders & file access, share links with limits and passwords, download logs

Read the Documentation

🆓 Free Features

🆓 Explorer-style admin dashboard

  • Familiar breadcrumbs, toolbar, sorting, and pagination — just like a desktop file manager
  • Grid and list view with thumbnail previews for images
  • Fast AJAX navigation — browse folders without page reloads
  • Multi-select with bulk actions (move, copy, delete, download)
  • Drag-and-drop file uploads and Media Library import
  • Conflict-safe transfers — choose Skip, Replace, or Keep both when names collide

🆓 Folder management

  • Create unlimited nested folders
  • Rename, move, and copy folders with conflict resolution
  • Download any folder as a ZIP archive in one click
  • Delete files and folders individually or in bulk

🆓 Frontend file browser

  • Embed a read-only file explorer on any page with [frontend_file_explorer]
  • Visitors can browse folders, download files, and copy direct sharing links
  • Breadcrumb navigation, media-type sidebar filters (Images, Docs, Video, Audio, Archives)
  • Inline file preview modal — images, PDFs, videos, and audio open in-place
  • Fully responsive — adapts to phone, tablet, and desktop widths
  • Folder attribute for scoped embeds: [frontend_file_explorer folder="/clients/acme"]
  • Block editor block — drag the File Explorer block into any post or page

🆓 Themes, icon packs and UI

  • 8 built-in themes: Light, Dark, Mono, Aurora, Sunset, Ocean, Dusk, Forest
  • 13 built-in icon packs, switchable right beside the theme switcher: Material, Lucide, Feather, Heroicons (Outline & Solid), Tabler (Outline & Filled), and Phosphor in six weights (Thin, Light, Regular, Bold, Fill, Duotone)
  • Icons automatically follow the active theme colors — folders and file-type accents included
  • Extensible: register your own icon packs via the ffe_icon_packs filter
  • Theme and icon-pack preferences persist per-user via WordPress options
  • Compatible with any WordPress theme — no style conflicts

🆓 Security and storage

  • Files live in a dedicated wp-content/uploads/downloads directory, separate from your Media Library
  • Every path is canonicalized and validated — no path traversal possible
  • Server-executable file types (.php, .phtml, etc.) are blocked on all write paths
  • All AJAX endpoints are nonce-verified and capability-gated
  • Upload, rename, and delete require the WordPress upload_files capability
  • Translation ready — fully localized with the frontend-file-explorer text domain

⭐ Pro Features (Upgrade)

⭐ Cloud storage (S3-compatible)

  • Connect Amazon S3, Cloudflare R2, or DigitalOcean Spaces with your own credentials
  • Upload files directly to the cloud from the admin dashboard
  • Browse, preview, and download cloud files alongside local files
  • Rename cloud files (CopyObject + DeleteObject with proper AWS Signature V4 signing)
  • Delete cloud files directly from the admin file manager
  • Public URL support for instant CDN-delivered file access

⭐ Protected folders

  • Password-protect any folder — visitors must enter a password to access its contents
  • Restrict folders by login requirement or user role
  • Per-folder protection, fully nested — subfolders inherit parent protection

⭐ Recursive search

  • Full-text search across all nested folders at once
  • Results include the full folder path so you know exactly where each file lives

⭐ Download logs

  • Every file download is recorded in a dedicated database table
  • Logs capture the file, visitor IP, timestamp, and referrer
  • Works for both direct frontend downloads and share-link downloads

⭐ Share links with expiry, limits & passwords

  • Generate a unique share URL for any file — no account needed for recipients
  • Optional expiry (1 hour to 30 days), optional download limit (one-time links included), and optional per-link password
  • See usage per link — downloads used, last download time — and revoke any link instantly
  • Works for logged-out visitors without exposing your storage paths

⭐ Protected file access

  • Block direct file URLs — every download is served through the plugin
  • Folder rules (password / login / role) are enforced on the file itself, not just the folder view
  • Share links become true access grants: revoking or expiring a link actually cuts off access
  • Apache/LiteSpeed: configured automatically; nginx: one config snippet (shown in Settings)

⭐ Custom folder appearance

  • Set a custom icon and color for any folder
  • Instantly distinguish project folders, client folders, and archive folders at a glance

🎯 Perfect for

  • Course creators sharing downloadable materials with students
  • Agencies delivering files and assets to clients
  • Businesses publishing a document library, resource hub, or brochures
  • Anyone who wants a clean, branded downloads page on their WordPress site

🚀 How to get started

Admin interface: Go to File Upload in your WordPress admin sidebar. Create folders, upload files (drag-and-drop or multi-select), and manage everything from one dashboard.

Frontend shortcode:

[frontend_file_explorer]

Add the shortcode to any page to publish your file browser. Use the folder attribute to start inside a specific directory:

[frontend_file_explorer folder="/course-materials"]
[frontend_file_explorer folder="/clients/acme-corp"]

Block editor: Search for the File Explorer block in the block inserter and set the starting folder in the block sidebar.

🔒 Security

Mutating actions (upload, folder creation, rename, move, copy, delete) are strictly hidden and blocked from public visitors — they are only accessible to logged-in users with the WordPress upload_files capability. Path traversal protection, nonce verification, and executable file type blocking are enforced on every write path.

External Services

This plugin may connect to third-party cloud storage services only when you explicitly configure and enable the Cloud Storage feature (Pro plan). No external connections are made on a default installation.

When configured, the plugin communicates directly with whichever storage provider you choose:

  • Amazon S3 — https://aws.amazon.com/s3/ — Terms: https://aws.amazon.com/service-terms/
  • Cloudflare R2 — https://www.cloudflare.com/developer-platform/r2/ — Terms: https://www.cloudflare.com/terms/
  • DigitalOcean Spaces — https://www.digitalocean.com/products/spaces/ — Terms: https://www.digitalocean.com/legal/terms-of-service-agreement/

Data sent: the file being uploaded (via a presigned PUT URL generated server-side), and listing/delete requests for files you manage. No user tracking or analytics data is ever sent.

Support Development

If you find this plugin useful and want to support its continued development, consider buying me a coffee!

Your support helps keep the plugin maintained, secure, and free for everyone.