Title: fraew Broken Media Inspector
Author: Chris Andrews
Published: <strong>July 25, 2026</strong>
Last modified: July 25, 2026

---

Search plugins

![](https://ps.w.org/fraew-broken-media-inspector/assets/banner-772x250.png?rev=
3622086)

![](https://ps.w.org/fraew-broken-media-inspector/assets/icon-256x256.png?rev=3622086)

# fraew Broken Media Inspector

 By [Chris Andrews](https://profiles.wordpress.org/fraew/)

[Download](https://downloads.wordpress.org/plugin/fraew-broken-media-inspector.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/fraew-broken-media-inspector/#description)
 * [Reviews](https://wordpress.org/plugins/fraew-broken-media-inspector/#reviews)
 *  [Installation](https://wordpress.org/plugins/fraew-broken-media-inspector/#installation)
 * [Development](https://wordpress.org/plugins/fraew-broken-media-inspector/#developers)

 [Support](https://wordpress.org/support/plugin/fraew-broken-media-inspector/)

## Description

Broken Media Inspector is a fast, free media-maintenance tool for WordPress. It 
does two jobs exceptionally well — and unlike many alternatives, there is no paid
tier, no row limit, and no external service.

#### 🩺 Broken Media

After a migration, backup restore, or hosting change, images go missing. Broken 
Media Inspector scans every item in your Media Library and tells you:

 * Which images are broken (file missing from disk, or incomplete metadata)
 * Exactly which posts, pages, galleries and featured images use them — with direct
   edit links
 * The likely cause and how to fix it

Missing files are **grouped by folder**, so a whole missing directory shows up as
a single line instead of hundreds — the fastest way to spot a migration that dropped
a folder. Results export to CSV.

The scan runs in two phases: a fast pass that checks every file on disk, then a 
background pass that works out usage only for the broken items. Thousands of images
scan in seconds.

#### 🧹 Orphaned Files

Over time your `wp-content/uploads` folder collects files that are no longer in 
the Media Library — leftovers from deleted posts, failed imports, and manual uploads.
Broken Media Inspector finds them, shows you how much space they take, and lets 
you either:

 * **Add to Library** — register the file so WordPress manages it again, or
 * **Archive** — move it (with its folder structure preserved) to `wp-content/uploads/
   fbmi-archive`

Archiving is a safe, reversible cleanup. Nothing is deleted straight away: you archive
the files you think you don’t need, check your site still looks right, and only 
then empty the archive. Changed your mind about a file? Restore it back to uploads
in one click. This “archive, verify, then delete” workflow means you never lose 
a file you actually needed.

Generated thumbnails are recognised and never mistaken for orphans. Every file action
is validated to stay inside your uploads folder and is limited to administrators.

#### Why choose this plugin

 * **Free and unlimited** — no premium upgrade, no capped results
 * **Fast** — two-phase scanning and in-memory usage matching
 * **Safe** — the broken-media scan is read-only; file actions only touch what you
   select
 * **Self-contained** — no external API calls, works on any host including shared
   hosting
 * **Zero configuration** — install, activate, scan

### Features

 * **Broken image detection** — missing files and incomplete metadata
 * **Folder grouping** — whole missing directories summarised in one line
 * **Usage mapping** — featured images, Gutenberg blocks, galleries and direct URLs,
   with edit links
 * **CSV export** — hand the report to a colleague or keep it on file
 * **Orphaned file scanner** — find unregistered files in wp-content/uploads
 * **Safe archive workflow** — archive orphans, verify your site, then delete or
   restore
 * **Import orphans** — add unregistered files back into the Media Library
 * **Thumbnail-aware** — generated sizes are never flagged as orphans
 * **Two-phase scanning** — fast results even on large libraries
 * **No configuration, no external services, no paid tier**

### Usage

The plugin lives at Tools > Broken Media Inspector and has three tabs.

**Broken Media**

 1. Click “Scan Media Library”.
 2. A progress bar tracks the scan; results appear grouped by folder.
 3. For each broken image you see the likely cause, a suggested fix, and direct edit
    links to every post/page/gallery that uses it.
 4. Click “Export CSV” to save or share the full report.

**Orphaned Files**

 1. Click “Scan Uploads Folder” to list files on disk that aren’t in the Media Library.
 2. Select the files you want to act on (individually or with “Select all”).
 3. Choose “Add to Library” (register them) or “Archive selected” (move them aside —
    nothing is deleted yet). A progress bar tracks large batches.

**Archive**

 1. After archiving, check your site still looks and works correctly.
 2. Open the Archive tab: “Restore” anything you still needed, or “Delete selected 
    permanently” to reclaim the space once you’re sure.

### Support

For support, documentation, and feature requests, visit:
 https://thebigcity.co.
nz

### License

This plugin is released under the GPLv2 or later license. See license.txt for full
details.

### Credits

Broken Media Inspector is developed by Christopher Andrews.
 https://thebigcity.
co.nz

Built to help WordPress administrators diagnose broken media after migrations, backups
and hosting changes — and safely clean up the stray files left behind. Free and 
unlimited. If it saves you time, you can support development at https://buymeacoffee.
com/fraew ☕

## Screenshots

[⌊Every missing file with its likely cause, a suggested fix, and edit links to each
post that uses it⌉⌊Every missing file with its likely cause, a suggested fix, and
edit links to each post that uses it⌉[

Every missing file with its likely cause, a suggested fix, and edit links to each
post that uses it

[⌊Orphaned Files tab — unregistered files in wp-content/uploads with Add to Library/
Archive actions⌉⌊Orphaned Files tab — unregistered files in wp-content/uploads with
Add to Library / Archive actions⌉[

Orphaned Files tab — unregistered files in wp-content/uploads with Add to Library/
Archive actions

[⌊Archive tab — review archived files, then Restore or permanently delete to reclaim
space⌉⌊Archive tab — review archived files, then Restore or permanently delete to
reclaim space⌉[

Archive tab — review archived files, then Restore or permanently delete to reclaim
space

[⌊Scanning the Media Library, with live progress you can cancel at any time⌉⌊Scanning
the Media Library, with live progress you can cancel at any time⌉[

Scanning the Media Library, with live progress you can cancel at any time

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Navigate to Tools > Broken Media Inspector
 4. Click “Scan Media Library”

## FAQ

### Is the Orphaned Files feature safe? Any risk?

Use it at your own risk, and always take a backup first. “Orphaned” only means a
file is not registered in the Media Library — it does **not** guarantee the file
is unused. Themes, page builders, sliders, custom code, and other plugins (including
WebP and image-optimisation plugins) can reference files directly in ways WordPress
cannot detect from its database. Treat the orphan list as a strong hint, not a certainty.

That is exactly why the plugin does not delete orphans outright. Instead you **Archive**
them — they are moved to `wp-content/uploads/fbmi-archive`, so your site behaves
as if they were gone, but you can **Restore** any file instantly if something breaks.
Only empty the archive once you have confirmed everything still works.

### Can the plugin fix broken images automatically?

No. The broken-media scan is diagnostic — it tells you what’s broken, where, and
why, but restoring missing files is up to you (usually from a backup). This keeps
it simple and safe.

### Will this plugin modify my files or database?

The broken-media scan is strictly read-only. The Orphaned Files tool can change 
things, but only when you ask it to. Archiving and restoring simply move files between`
wp-content/uploads` and `wp-content/uploads/fbmi-archive`; permanent deletion happens
only when you empty the archive. Every path is validated to stay inside the uploads
folder.

### How long does a scan take?

The broken-media scan checks every file on disk in a fast first pass, so even large
libraries finish quickly — typically a few seconds for a few thousand images, with
usage details filled in afterwards.

### Can I run this on a production site?

Yes. The broken-media scan only reads data. The orphan tools act only on the files
you explicitly select.

### Are generated thumbnails flagged as orphans?

No. The orphan scanner builds a list of every file WordPress knows about — originals,
scaled versions, and all generated thumbnail sizes — so legitimate thumbnails are
never mistaken for orphans.

### Does this plugin require any external services?

No. Everything runs inside WordPress. No API calls, no cloud services, no data sent
anywhere. Works on any hosting, including shared hosting.

### Can I see which posts use a broken image?

Yes. For each broken image, the report shows which pages/posts reference it, with
direct links to edit them.

### I have 10,000+ images. Can this handle it?

Yes. The plugin processes images in batches and tracks progress. Even massive libraries
are supported.

### What if all images check out as healthy?

Congratulations! No action needed. The report shows detailed counts and can be exported
as proof for your team or clients.

### Does this work with image optimization or WebP plugins?

The broken-media scan works alongside any optimisation, lazy-load or CDN plugin —
it checks whether the real file exists on disk. Note that WebP/optimiser plugins
often create extra files (such as photo.jpg.webp) that aren’t in the Media Library,
so those will appear in the Orphaned Files list. They’re usually in active use, 
so review before archiving.

### Does this work with multisite?

Version 1.0 supports single-site installations. Multisite is a candidate for a future
release.

### Can I schedule automatic scans?

Not in Version 1.0. Scheduled scanning is a candidate for a future release based
on user feedback.

### How do I interpret the “likely cause” suggestions?

The “likely cause” is a best guess based on the type of failure:

 * **Missing** — the file isn’t on disk. Usually the uploads folder (or a sub-folder)
   wasn’t copied during a migration or restore, or the file was deleted manually.
 * **Metadata issue** — the file exists but WordPress has no size/metadata for it,
   typically from an incomplete upload or import.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“fraew Broken Media Inspector” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Chris Andrews ](https://profiles.wordpress.org/fraew/)

[Translate “fraew Broken Media Inspector” into your language.](https://translate.wordpress.org/projects/wp-plugins/fraew-broken-media-inspector)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release
 * Broken media scan: missing files and incomplete metadata, grouped by folder
 * Usage mapping with edit links (featured images, Gutenberg blocks, galleries, 
   direct URLs)
 * Two-phase scanning for fast results on large libraries
 * CSV export of the full report
 * Orphaned Files scanner for wp-content/uploads
 * Import orphaned files into the Media Library
 * Safe archive workflow: archive orphans, then restore or permanently delete from
   the Archive tab
 * Thumbnail-aware orphan detection
 * WordPress 5.0+ and PHP 7.4+ support

## Meta

 *  Version **1.0.0**
 *  Last updated **6 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [broken](https://wordpress.org/plugins/tags/broken/)[cleanup](https://wordpress.org/plugins/tags/cleanup/)
   [images](https://wordpress.org/plugins/tags/images/)[media](https://wordpress.org/plugins/tags/media/)
   [orphaned](https://wordpress.org/plugins/tags/orphaned/)
 *  [Advanced View](https://wordpress.org/plugins/fraew-broken-media-inspector/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fraew-broken-media-inspector/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fraew-broken-media-inspector/reviews/)

## Contributors

 *   [ Chris Andrews ](https://profiles.wordpress.org/fraew/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fraew-broken-media-inspector/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buymeacoffee.com/fraew)