Title: Upload Janitor
Author: michaeltyson
Published: <strong>January 16, 2010</strong>
Last modified: January 20, 2010

---

Search plugins

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.

![](https://s.w.org/plugins/geopattern-icon/upload-janitor.svg)

# Upload Janitor

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

[Download](https://downloads.wordpress.org/plugin/upload-janitor.0.2.zip)

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

 [Support](https://wordpress.org/support/plugin/upload-janitor/)

## Description

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.

### Restoring

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 http://your-blog.com/wp-content/uploads/upload_janitor_archive_YYYY-mm-dd.tar.
gz

## Installation

 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

## Reviews

![](https://secure.gravatar.com/avatar/a9e1c3b02a34fa228a8b06bc21c3ddf019f45078129cae10f8bd0e474aaef4db?
s=60&d=retro&r=g)

### 󠀁[Not great, lacks features](https://wordpress.org/support/topic/not-great-lacks-features/)󠁿

 [amityweb](https://profiles.wordpress.org/amityweb/) May 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 ](https://wordpress.org/support/plugin/upload-janitor/reviews/)

## Contributors & Developers

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

Contributors

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

[Translate “Upload Janitor” into your language.](https://translate.wordpress.org/projects/wp-plugins/upload-janitor)

### Interested in development?

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

## Changelog

#### 0.2

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

#### 0.1

 * Initial release

## Meta

 *  Version **0.2**
 *  Last updated **16 years ago**
 *  Active installations **50+**
 *  WordPress version ** 2.6 or higher **
 *  Tested up to **2.9.2**
 *  Language
 * [English (US)](https://wordpress.org/plugins/upload-janitor/)
 * Tags
 * [clean](https://test.wordpress.org/plugins/tags/clean/)[delete](https://test.wordpress.org/plugins/tags/delete/)
   [files](https://test.wordpress.org/plugins/tags/files/)[unused](https://test.wordpress.org/plugins/tags/unused/)
   [upload](https://test.wordpress.org/plugins/tags/upload/)
 *  [Advanced View](https://test.wordpress.org/plugins/upload-janitor/advanced/)

## Ratings

 4 out of 5 stars.

 *  [  2 5-star reviews     ](https://wordpress.org/support/plugin/upload-janitor/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/upload-janitor/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/upload-janitor/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/upload-janitor/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/upload-janitor/reviews/?filter=1)

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

[See all reviews](https://wordpress.org/support/plugin/upload-janitor/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/upload-janitor/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://atastypixel.com/blog/wordpress/plugins/upload-janitor)