Best WordPress Plugin to Find & Delete Unused Images (2025)

Discover the best WordPress plugin for unused images and streamline your media library for improved website performance.

If you’re managing a WordPress site with hundreds or thousands of images, you’ve probably wondered: Which of these images are actually being used?

I’ve been a WordPress publisher and developer for over a decade, and this question comes up constantly, especially from site owners running WooCommerce stores, photography portfolios, or content-heavy blogs. The problem isn’t just about storage space (though that matters). It’s about performance, backup times, and the mental overhead of managing a cluttered media library.

Most WordPress plugins claim to find unused images. But here’s the catch: most of them only scan post content. They miss entirely images embedded in page builders like Elementor or Divi, images stored in WooCommerce product galleries, or images referenced in theme options and custom fields.

That’s why I built Image Source Control’s unused image detection differently. Let me show you what actually works.

Quick Answer: Why Image Source Control Stands Out

If you’re in a hurry, here’s what makes Image Source Control the most reliable solution for finding and deleting unused images:

  • Deep Check scans beyond post content – It checks page builders (Elementor, Divi, Beaver Builder, WP Bakery), WooCommerce product galleries, meta fields, theme options, and widget areas
  • Safe deletion process – You get a detailed report before deleting anything
  • Built by someone who understands the problem – I’ve been solving WordPress image management issues since 2013
The number of unused images and the disk space it reserves showing in the WordPress dashboard.

The Problem with Most Unused Image Plugins

Before I explain how Image Source Control works, let me save you some frustration by pointing out what doesn’t work.

They Only Scan Post Content

Most plugins take the easy route: they scan your posts and pages for image references, then assume everything else is unused. This approach fails spectacularly if you’re using:

  • Page builders – Images in Elementor, Divi, or Beaver Builder modules aren’t stored in post content
  • WooCommerce – Product gallery images are stored separately in meta fields
  • Custom fields – ACF images won’t be detected
  • Theme options – Header images, logos, or background images stored in theme settings
  • Widgets – Images in sidebar or footer widgets

I’ve seen site owners accidentally delete images that were still actively displayed on their homepage, simply because their “unused image” plugin didn’t check the right places.

They Confuse “Unattached” with “Unused”

WordPress has a concept called “unattached media” – images that aren’t linked to a specific post. Many plugins flag these as unused and suggest deleting them.

But here’s the problem: an unattached image can still be in use. It might be:

  • In an article, it wasn’t uploaded to
  • Your site logo
  • A background image in your theme
  • A product image in WooCommerce
  • An image in a widget or custom field

Deleting unattached images without a proper deep scan is like throwing away files from your desktop because they’re not in a specific folder. It’s reckless.

The WordPress Media Library in List view with the links highlighted to attach or detach images from posts.
WordPress lists the posts to which an image was uploaded to in the Media Library List View

They Don’t Account for Modern WordPress

WordPress has evolved significantly. We’re not just writing blog posts anymore. We’re building complex sites with:

  • Multiple page builders
  • E-commerce functionality
  • Custom post types
  • Dynamic content
  • Theme builders

A plugin that only checks post_content in the database is stuck in 2010. Your site isn’t.

How Image Source Control Solves This

Image Source Control takes a fundamentally different approach. Instead of making assumptions, it actually checks where your images are used.

Deep Check: Beyond Surface-Level Scanning

The Deep Check feature is what sets Image Source Control apart. Here’s what it scans:

1. Post Content (The Basics) Yes, it scans post content, but that’s just the starting point.

2. Meta Fields This includes:

  • Featured images
  • Custom fields (ACF, Toolset)
  • WooCommerce products
  • Any custom meta data stored by plugins

3. Options Table This is where theme settings, widget content, and plugin configurations are stored. If your header logo or background image is referenced here, we’ll find it.

4. Page Builders We specifically check for images in:

  • Avada
  • Elementor
  • Divi
  • Beaver Builder
  • WPBakery
  • Oxygen Builder

5. WooCommerce Product images, gallery images, and category thumbnails are all accounted for.

Run the Deep Check per image or in Bulk from the Unused Images page.

The Safe Deletion Process

Here’s how Image Source Control helps you remove unused images without the risk:

Step 1: Scan all Posts and Pages: Once you install the plugin, go to Settings > Image Sources and enable the “Unused Images” module.

Step 2: Run the Indexer: Navigate to Media > Unused Images and click on “Run Indexer”. Then start the Indexer. It will visit all your posts, as if it were a regular user, and look for images in the content. This will provide an initial overview of where images are actively in use.

Step 3: Review the Unused Images List: On Media > Unused Images, you will now see a list of potentially unused images. Each image shows:

  • Thumbnail preview
  • File size
  • Upload date
  • Image Appearances
List of unused images in WordPress.
The Unused Images page after the initial Indexer ran.

Step 4: Run Deep Check on Remaining Images: Not sure about an image? Click “Deep Check” to run an intensive scan. This checks the database for images used in options and metadata.

Step 5: Delete with Confidence: Select the images you want to remove and choose “Delete” from the bulk actions. Image Source Control removes both the database entries and the actual files from your server.

Real-World Use Cases

Let me share some examples from actual Image Source Control users:

WooCommerce Store with Seasonal Products: One user runs a fashion e-commerce site with 3,500 products. They update their catalog every season, resulting in thousands of outdated product images. Using Image Source Control, they identified 12,400 unused images totaling 18.7 GB. After deletion, their backup times dropped from 45 minutes to 12 minutes.

Photography Portfolio: A professional photographer had uploaded 2,800 images over five years. Many were test uploads or rejected shots. Image Source Control found 890 unused images (32% of their library), freeing up 4.2 GB of storage.

Content Site with Multiple Authors: A news site with 15 contributors had a chaotic media library. Different authors used different naming conventions, uploaded duplicates, and never cleaned up. Image Source Control helped them identify 6,300 unused images, reducing their media library size by 41%.

Ready to see similar results on your site? Get Image Source Control now and start cleaning up your media library today.

When You Might Need a Different Approach

I believe Image Source Control is the best solution for finding and deleting unused images, but I also believe in being honest about when it might not be the right fit.

If You Only Need Basic Scanning

If you’re running a simple blog with no page builders, no WooCommerce, and no custom fields, you might not need the Deep Check feature. In that case, you could:

  • Use the manual method (navigate to Media > Library and review images one by one)
  • Use custom SQL queries to look for unused images, as explained in Find unused images in WordPress

But honestly? Even for simple sites, the peace of mind that comes from a proper deep scan is worth it.

How to Get Started with Image Source Control

Get your copy of Image Source Control.

Installation Steps

Time needed: 5 minutes

  1. Follow the link in the purchase confirmation to download the plugin’s ZIP file

  2. Go to Plugins > Add New > Upload Plugin

  3. Upload the Image Source Control ZIP file

  4. Click “Activate”

  5. Navigate to Settings > Image Source and enable the “Unused Images” module

  6. Navigate to Media > Unused Images

  7. Click on “Run Indexer” and start it

  8. Once the Indexer runs through, go to Media > Unused Images to review the list

  9. Click on “Deep Check” on any questionable images

  10. Select images to delete and choose “Delete” from bulk actions

Important: Always Have a Backup

Before deleting any images, make sure you have a complete backup of your site. While Image Source Control is designed to be safe, accidents can happen, especially if you’re deleting hundreds or thousands of images at once.

I recommend:

  • Using a backup plugin like WP Staging, UpdraftPlus, or BackWPup
  • Or checking with your hosting provider (many hosts include automatic backups)

Once you have a backup, you can delete unused images with confidence.

Conclusion

Finding and deleting unused images in WordPress isn’t as simple as it seems. Most plugins take shortcuts that can lead to accidentally deleting images that are still in use, especially if you’re using page builders, WooCommerce, or custom fields.

Image Source Control’s “Deep Check” feature solves this by actually scanning where your images are used, not just making assumptions based on post content. It’s the approach I wish other plugins would take, but since they don’t, I built it myself.

Whether you’re managing a WooCommerce store with thousands of product images, a photography portfolio, or a content-heavy blog, Image Source Control gives you the confidence to clean up your media library without breaking your site.

FAQ

What’s the difference between unattached and unused images in WordPress?

Unattached images are files in your media library that aren’t linked to a specific post or page. However, they might still be in use, for example, as your site logo, in a widget, or in WooCommerce product galleries. Unused images are files that aren’t referenced anywhere on your site. Image Source Control’s Deep Check distinguishes between the two by scanning meta fields, options, and page builders.

Can I recover images after deleting them?

Once you delete images, they are permanently removed from your server. That’s why I strongly recommend creating a complete backup before deleting any files. If you have a backup, you can restore deleted images from there.

Does Image Source Control work with page builders like Elementor and Divi?

Yes. The “Deep Check” feature specifically scans for images used in Elementor, Divi, Beaver Builder, WPBakery, and Oxygen Builder.

How long does it take to scan my media library?

The initial scan can run in a new tab in your browser without you having to monitor it. The total time it takes depends on your media library size as well as your server performance. Don’t worry if you have to abort the scan. You can come back to it and index missing sites later.

Will deleting unused images improve my site speed?

Deleting unused images won’t directly improve page load times (since those images weren’t loading on your pages anyway). However, it will reduce your hosting storage usage, speed up backups, make your media library easier to navigate, and potentially reduce server costs if you’re paying for storage.

Can it find unused WooCommerce product images?

Yes. The “Deep Check” feature scans WooCommerce product galleries, featured product images, and category thumbnails. This is especially important for WooCommerce stores that frequently update their product catalog.

Portrait of Thomas Maier, founder and CEO of Image Source Control

Questions? Feedback? How can I help?

Reach out directly via the contact form.