Plugin Directory

EWWW Image Optimizer

Reduce file sizes for images in WordPress including NextGEN, GRAND FlAGallery and more using lossless/lossy methods and image format conversion.

Google Pagespeed says my images need compressing or resizing, but I already optimized all my images. What do I do?

Try this for starters: http://ewww.io/2014/12/05/pagespeed-says-my-images-need-more-work/

Does the plugin replace existing images?

Yes, but only if the optimized version is smaller. The plugin should NEVER create a larger image.

Can I resize my images with this plugin?

No, we leave that to other plugins like Imsanity.

Can I lower the compression setting for JPGs to save more space?

The lossy optimization using the EWWW IO Cloud service will determine the ideal quality setting and save even more space. You cannot manually set the quality with this plugin, but Imsanity (and many others) will do that if you really want to. But you should REALLY try EWWW IO Cloud first.

The bulk optimizer doesn't seem to be working, what can I do?

If it doesn't seem to work at all, check for javascript problems using the developer console in Firefox or Chrome. If it is not working just on some images, you may need to increase the setting max_execution_time in your php.ini file. There are also other timeouts with Apache, and possibly other limitations of your webhost. If you've tried everything else, the last thing to look for is large PNG files. In my tests on a shared hosting setup, "large" is anything over 300 KB. You can first try decreasing the PNG optimization level in the settings. If that doesn't work, perhaps you ought to convert that PNG to JPG or set a max PNG optimization size. Screenshots are often done as PNG files, but that is a poor choice for anything with photographic elements.

What are the supported operating systems?

I've tested it on Windows (with Apache), Linux, Mac OSX, FreeBSD (8 and 9), and Solaris (v10). The cloud service will run on any OS.

How are JPGs optimized?

Lossless optimization is done with the command jpegtran -copy all -optimize -progressive -outfile optimized-file original-file. Optionally, the -copy switch gets the 'none' parameter if you choose to strip metadata from your JPGs on the options page. Lossy optimization is done using the outstanding TinyJPG and JPEGmini utilities.

How are PNGs optimized?

There are three parts (and all are optional). First, using the command pngquant original-file, then using the commands pngout-static -s2 original-file and optipng -o2 original-file. You can adjust the optimization levels for both tools on the settings page. Optipng is an automated derivative of pngcrush, which is another widely used png optimization utility. EWWW I.O. Cloud uses TinyPNG for 10% better lossy compression than standalone pngquant.

How are GIFs optimized?

Using the command gifsicle -b -O3 --careful original file. This is particularly useful for animated GIFs, and can also streamline your color palette. That said, if your GIF is not animated, you should strongly consider converting it to a PNG. PNG files are almost always smaller, they just don't do animations. The following command would do this for you on a Linux system with imagemagick: convert somefile.gif somefile.png

I want to know more about image optimization, and why you chose these options/tools.

That's not a question, but since I made it up, I'll answer it. See these resources:

Pngout, TinyJPG/TinyPNG, JPEGmini, and Pngquant were recommended by EWWW IO users. Pngout (usually) optimizes better than Optipng, and best when they are used together. TinyJPG is the best lossy compression tool that I have found for JPG images. Pngquant is an excellent lossy optimizer for PNGs, and is one of the tools used by TinyPNG.

Requires: 3.5 or higher
Compatible up to: 4.3.1
Last Updated: 2015-9-9
Active Installs: 200,000+


4.5 out of 5 stars


72 of 79 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1 100,2,2 100,2,2
100,2,2 100,1,1 50,2,1 100,1,1
100,1,1 0,1,0 100,5,5
0,1,0 100,1,1 100,3,3 100,1,1 0,1,0 100,1,1 100,1,1 0,1,0
100,1,1 100,1,1 100,2,2 100,2,2
100,1,1 100,5,5 100,1,1 100,2,2 0,1,0 100,4,4 100,3,3 100,3,3
75,4,3 100,1,1
100,5,5 100,2,2 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,1,1 33,3,1 100,5,5 100,1,1 100,2,2 100,1,1 100,1,1
100,3,3 80,5,4
100,8,8 33,3,1 100,1,1 100,6,6 100,1,1 100,6,6 100,2,2
100,5,5 50,2,1
100,2,2 100,2,2 100,3,3 100,6,6
100,5,5 100,2,2 100,1,1
100,4,4 100,3,3 100,4,4
100,7,7 100,2,2 100,1,1 100,1,1
100,1,1 100,1,1 92,12,11
78,9,7 0,1,0 67,3,2 100,2,2
100,1,1 100,1,1
100,2,2 100,1,1 100,2,2 75,4,3 100,1,1 100,3,3