Title: MediaPrune – Media Cleaner &amp; Unused Image Remover
Author: SandCircuit
Published: <strong>November 2, 2026</strong>
Last modified: November 2, 2026

---

Search plugins

![](https://ps.w.org/mediaprune/assets/banner-772x250.png?rev=3778932)

![](https://ps.w.org/mediaprune/assets/icon-256x256.png?rev=3778932)

# MediaPrune – Media Cleaner & Unused Image Remover

 By [SandCircuit](https://profiles.wordpress.org/sandcircuit/)

[Download](https://downloads.wordpress.org/plugin/mediaprune.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/mediaprune/#description)
 * [Reviews](https://wordpress.org/plugins/mediaprune/#reviews)
 *  [Installation](https://wordpress.org/plugins/mediaprune/#installation)
 * [Development](https://wordpress.org/plugins/mediaprune/#developers)

 [Support](https://wordpress.org/support/plugin/mediaprune/)

## Description

**MediaPrune is a media cleaner for WordPress.** It finds the images, videos, PDFs
and other files in your media library that nothing on your site uses, so you can
delete them and free up disk space without breaking any pages.

Most media libraries fill up over time with unused images: old uploads, replaced
product photos, test files and leftovers from deleted posts. Each upload also creates
several resized copies, so one forgotten image can take up a lot of space. MediaPrune
finds these files, shows you what can go, and lets you remove them in a few clicks.

#### Why MediaPrune

 * **Safe by default.** Files go to a quarantine first, not straight to the bin.
   If a page turns out to need one, restore it in one click. Quarantined files are
   deleted for good after 30 days.
 * **Careful scan.** When in doubt, MediaPrune keeps the file. Each file is checked
   again right before it’s removed, in case something started using it after the
   scan.
 * **Thorough clean-up.** Removes the original and every copy: all the sizes WordPress
   made, plus the extra crops and WebP versions other plugins create.
 * **Works on large libraries.** Scans in small steps, so it doesn’t time out, and
   an interrupted scan picks up where it left off.
 * **Lightweight and private.** Runs only on its own admin screen, adds nothing 
   to your site’s front end, and sends no data anywhere.

#### How it finds unused media

A scan checks every place that can point to a file:

 * the content of all posts, pages and custom post types, including drafts, scheduled
   and private posts: images, galleries, covers, videos and file links in blocks,
   classic content and shortcodes;
 * featured images;
 * custom fields on posts, categories, tags and users, which covers ACF, WooCommerce
   product galleries and page builders;
 * site settings: the site logo and icon, Customizer settings and widgets.

Any file used in one of these places is kept.

#### Review before you clean

Every unused file is listed with a preview, file size and upload date, and is ticked
for cleaning. Untick anything you want to keep. You can search by file name, filter
by images, video, audio or documents, switch between grid and list views, and see
how much space your selection will free up. Files you untick stay unticked in later
scans.

#### Quarantine or delete permanently

 * **Move to quarantine** takes the selected files offline. They disappear from 
   the media library and their URLs stop working, so if a page still used one, you’ll
   notice straight away. Restore any file from the Quarantine tab.
 * **Clean selected** deletes the selected files permanently, after you confirm.
   Use it for files you’re sure about.

Uninstalling MediaPrune restores everything in quarantine before it removes the 
plugin’s own data.

#### Credits

The admin screen’s line icons are based on the [Lucide](https://lucide.dev) icon
set (ISC licence). The licence notice is in `third-party-licenses.txt`.

## Screenshots

[⌊Unused files found by the scan, ticked for cleaning. Untick anything you want 
to keep.⌉⌊Unused files found by the scan, ticked for cleaning. Untick anything you
want to keep.⌉[

Unused files found by the scan, ticked for cleaning. Untick anything you want to
keep.

[⌊List view, filtered to images, with search and file type filters.⌉⌊List view, 
filtered to images, with search and file type filters.⌉[

List view, filtered to images, with search and file type filters.

[⌊Moving files to quarantine: they can be restored for 30 days.⌉⌊Moving files to
quarantine: they can be restored for 30 days.⌉[

Moving files to quarantine: they can be restored for 30 days.

[⌊The Quarantine tab: restore any file in one click.⌉⌊The Quarantine tab: restore
any file in one click.⌉[

The Quarantine tab: restore any file in one click.

## Installation

 1. In your WordPress admin, go to Plugins  Add New, search for “MediaPrune”, then 
    install and activate it.
 2. Go to Media  MediaPrune and click “Scan media library”.
 3. Review the list of unused files, untick anything you want to keep, then click “
    Move to quarantine”.

## FAQ

### How do I delete unused images in WordPress?

Install MediaPrune, go to Media  MediaPrune and run a scan. It lists every image
and file nothing on your site uses. Review the list, then move the files to quarantine.
They’re deleted for good after 30 days, or straight away if you choose “Delete now”.

### Is it safe? Can it delete an image that is still in use?

MediaPrune checks your posts, pages, custom fields and site settings, and keeps 
any file it isn’t sure about. It can’t see files referenced from outside the database,
such as an image hard-coded in a theme’s CSS or PHP, or linked from another website.
That’s why cleaned files go to quarantine first: look over your site after cleaning,
and restore anything that’s missing.

Developers can mark such files as used with the `mediaprune_used_attachment_ids`
filter.

### Does it work with WooCommerce, ACF and page builders?

Yes. MediaPrune reads custom fields, which is where WooCommerce stores product galleries
and where ACF and page builders store images, so files used there are kept.

### Does it work with images served from a CDN, or with WebP copies?

Yes. Files are matched by their path, so CDN URLs, resized copies, `-scaled` originals
and WebP versions all count as uses of the original file.

### Will it free up disk space?

Yes. It removes each file from the server along with every resized copy, not just
the media library entry. The review screen shows how much space your selection will
free.

### Where do quarantined files go?

Into a folder inside your uploads directory, named `mediaprune-quarantine-` plus
a random suffix, protected by an `index.php` and an `.htaccess` file that blocks
web access. While a file is in quarantine, it’s hidden from the media library.

### Does it slow down my site or send data anywhere?

No. MediaPrune loads only on its own admin screen, adds nothing to your site’s front
end, and makes no outside requests.

### What does it need from the server?

PHP must be able to write to the uploads folder directly, which is the case on most
hosts.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MediaPrune – Media Cleaner & Unused Image Remover” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ SandCircuit ](https://profiles.wordpress.org/sandcircuit/)

[Translate “MediaPrune – Media Cleaner & Unused Image Remover” into your language.](https://translate.wordpress.org/projects/wp-plugins/mediaprune)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/mediaprune/), check
out the [SVN repository](https://plugins.svn.wordpress.org/mediaprune/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/mediaprune/) by 
[RSS](https://plugins.trac.wordpress.org/log/mediaprune/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [cleanup](https://wordpress.org/plugins/tags/cleanup/)[delete unused images](https://wordpress.org/plugins/tags/delete-unused-images/)
   [media cleaner](https://wordpress.org/plugins/tags/media-cleaner/)[media library](https://wordpress.org/plugins/tags/media-library/)
   [unused images](https://wordpress.org/plugins/tags/unused-images/)
 *  [Advanced View](https://wordpress.org/plugins/mediaprune/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/mediaprune/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/mediaprune/reviews/)

## Contributors

 *   [ SandCircuit ](https://profiles.wordpress.org/sandcircuit/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/mediaprune/)