Instead of creating image sizes on upload, this plugin only creates them when requested.

Normally after activating a new theme or plugin that adds new image sizes, you will have to use a tool like Regenerate Thumbnails to create the newly registered image sizes. Depending on the size of the media library and the “power” of your server, this might take a while or even take several tries to process all your images; and in the end, you don’t even know if you’ll need all of the resized images.

This plugin takes care of the resizing dynamically and creates the requested size the moment it is first requested—and only when it is requested.


For users: Please use the support forums on
For developers: Head over to the Github repository
For everything else, find me on twitter or on slack


  1. Upload the plugin to your plugins directory (usually wp-content/plugins)
  2. Make sure you have Pretty Permalinks enabled
  3. Activate the plugin

The plugin handles the images from here on. The resized images are saved in a subfolder inside your uploads directory.


You’ll need at least PHP 5.5, WordPress 4.7 and either GD or Imagick on your server.


If you want to uninstall the plugin for good, make sure to regenerate your image thumbnails/sizes afterward using Regenerate Thumbnails or similar.


Why does this not work when using NGINX?

Often your NGINX is configured in a way to serve the image as a static resource and in case of failure throw a 404 Not Found error.

To work around this, make sure the request is sent to WordPress when the image cannot be found.

Add a directive like:

location ~* (/[^/]+/)?uploads/(.+\.(png|gif|jpe?g)) {
    try_files $uri $uri/ /index.php?q=$uri&$args;
    expires max;
    log_not_found off;
    access_log off;

If you have one long location directive listing all the static file formats (css, js, zip, etc.), you can also just drop the try_files $uri $uri/ /index.php?q=$uri&$args; in there.

Why is there a `resizefly-duplicate` directory in my uploads folder?

The plugin stores an optimized duplicate of each image in this folder. The reason for this is, that image resizing puts a strain on your server and uses comparably a lot of resources. To minimize this ResizeFly creates an optimized copy from which the smaller image sizes will be created.


Spart Speicherplatz auf dem Server und bei BackUps

Nach umfangreichen Änderungen an meiner Website (mehrmals neues Theme) u.v.a. sind meine BackUp-Dateien grössenmässig aus allen Nähten geplatzt. Alle nicht mehr benötigten Bildgrössen per FTP von Hand zu löschen hat, wie zu erwarten war, schnell zu Fehlern geführt. Auf der Suche nach einer Lösung per Plugin bin ich zu meinem Glück auf ResizeFly von Alexander Goller gestossen.
Am 23.01.2018 habe ich einen Fehler gemeldet, schon am nächsten Tag kam das Bugfix zurück. Am 9.2.2018 bemerkte ich einen anderen Fehler und heute morgen (11.2.2018) war er schon beseitigt.
Das ist Support der Extraklasse.
Mit der Version 2.0.3 bin ich rundum glücklich. Wenn ich jetzt ein BackUp der Medien machen will, lösche ich einfach den Medien-Cache (also alle skalierten Bildgrössen) und hab damit als Downloadvolumen nur die ursprünglich hochgeladenen Dateien und sonst keinerlei Überhang. Die notwendigen umgerechneten Bildgrößen bauen sich ja automatisch wieder auf, sobald sie im Browser angezeigt werden sollen.

Vielen Dank Alex

Read all 3 reviews

Contributors & Developers

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


“ResizeFly” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “ResizeFly” into your language.

Interested in development?

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



  • Add ability to purge resized for single image
  • Improve php for Cache, add CacheInterface; breaks BC
  • Add unmangled and uncompiled JS; respect DEBUG_SCRIPT

see for full changelog