This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Upload Janitor


Reclaim disk space and clean up your uploads folder by deleting old uploads you are no longer linking to.

This plugin will identify unused files within your uploads folder, and give you the option of archiving then deleting
some or all of these files.

Before any action is taken, Upload Janitor will automatically make a ‘tar’ archive of all files to be
erased, including their original paths, so you can restore if necessary.

How does it work?

This plugin inspects every file within the uploads folder. For each file, it searches pages or posts that
reference the file. That is, the plugin searches for the part of each file’s path that comes after the path
to the uploads folder, such as 2010/01/my great but forgotten image.jpg.

The path is searched as-is, as well as URL-encoded with ‘%20’ for spaces, and the same with ‘+’ for spaces –
2010/01/my%20great%20but%20forgotten%20image.jpg and 2010/01/my+great+but+forgotten+image.jpg. HTML entity-encoded
forms of all of these are also searched.

If no matches are found, then the file is considered unused.

Note that this plugin plays it safe, and does not distinguish between older post/page revisions and the current version
of a post/page. If a revision references a file, the file will be considered still in use.


If something goes wrong, you can always restore. If you have shell access to your site, this is easy. Simply log in,
navigate to your wp-content/plugins directory, and locate the Upload Janitor archive – it will look like
upload_janitor_archive_YYYY-mm-dd.tar.gz. Then, type:

    tar zxf <archive name> .

This will restore all files within the archive.

If you do not have shell access to your server, you will have to download the archive, extract it, then upload the
contents back to your server. The archive will be accessible at


  1. Unzip the package, and upload upload-janitor to the wp-content/plugins directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Visit ‘Upload Janitor’ within the ‘Tools’ menu in WordPress to use


മെയ്‌ 19, 2017
This is good in concept but not good in pratice because of the lack of the following important features: 1) Cant set it to check only media folders (e.g. 2016, 2017 etc), and it will check the whole Uploads folder. Therefore it reports files as “not being used” as actually being used, like we have geo location data, ithemes security logs, backups etc. We are only interested in the media items, so would like to specify media folders 2) Does not show thumbnails, only a list. If you have an image called 3e67dhw39d3.jpg you have no chance knowing what it is whether you want to delete it or not 3) It checks the posts if the images are used or not. This is not actually the best way. What i would expect is to compare the Uploads folder to the Media section in WordPress. I would like to delete files in uploads that are not listed in Media. Instead it is suggesting to delete files that are in Media but just not in any post (does it even check ACF fields?)
Read all 4 reviews

Contributors & Developers

“Upload Janitor” is open source software. The following people have contributed to this plugin.


Translate “Upload Janitor” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Tweak for compatibility with some apparently buggy PHP installations
  • Additional error reporting for ‘tar’ archiver


  • Initial release