A Tactical Comparison of Seven Image Compression Tools in 2020

image-compression-blog-post

Image compression is an important component when analyzing a website’s page speed. Most content management systems don’t provide this type of feature out of the box and, instead, rely on content editors to compress images before uploading. 

The process is very manual and requires a lot of extra time for every image. There are several free services, like TinyPNG, that allow you to drop one or more images at a time, perform the compression, and allow you to download all when completed. 

A few systems, like WordPress, have plugins available to perform compression as images are uploaded. But how do you know which service to use?

Our team built an image compression comparison tool that submits images to 7 different compression providers and tracks the total time and size reduction for each. Our findings are presented below.

Setup and Configuration

For this project, I performed compression on both JPG and PNG images. I ran each image type separately so as not to mix up the averages.

JPG images were about 2,500 pixels wide by 1,600 pixels tall. PNG images were about 1200 x 800 pixels tall.

We sent images in batches of four to one service at a time, waited about 30 minutes, and then re-ran the same images through a second, third, and fourth time. We felt the images we used had sufficient detail and contrast to show differences between versions.

Everything was processed on a Microsoft Azure B1 Web App which has about 1.75 GB RAM and 100 Azure Compute Units (ACU’s). This is one of Azure’s smallest web app servers. The size doesn’t really affect the compression service API calls but does impact LEADTOOLS since it runs locally. A beefier server would have a dramatic effect on the LEADTOOLS results.

Images

source_llama.jpg
Llama - PNG: 1.4 MB | JPG: 2.59 MB | Source
source_girl.jpg
Girl - PNG: 1.16 MB | JPG: 2.56 MB | Source
source_tracks.jpg
Railroad Tracks - PNG: 1.74 MB | JPG: 1.51 MB | Source
source_bricks.jpg
Brick Wall - PNG: 2.03 MB | JPG: 1.71 MB | Source

Services Overview

We plugged into the API's of the following seven services. If you feel we've missed an important service, please contact us and let us know its name and website.

ReSmushIt

https://resmush.it/
A company based in Paris, France that provides image compression through it’s API for free. 

API Pricing: Free

Tinify (TinyJPG / TinyPNG)

https://tinyjpg.com/
Tinify is a service created in 2014 by Voormedia out of Amsterdam, Netherlands. We’ve used them for a long time to manually compress images. It’s basic free service provides a simple drag and drop interface where you can drop images up to 5 MB in size.

API Pricing: first 500 images free, next 9,500 are $0.009 per image

ShortPixel

https://shortpixel.com/
ShortPixel is an image compression company out of Romania formed in 2014. ShortPixel offers a Glossy compression option for photographers that is less lossy than their normal compression.

API Pricing: 100 images/mo are free, 5,000 images/mo are $4.99

Kraken.io

https://kraken.io/ 
Kraken.io was founded in 2013 out of Berlin, Germany as an image optimization and compression SaaS platform.

API Pricing: 500 MB/mo for $5.00

Imagify

https://imagify.io/ 
Imagify was created by WP Media in 2016 out of Lyon, France. 

API Pricing: 1GB data (about 10,000 images) for $4.99/mo. They also offer one-time plans.

EWWW Image Optimizer

https://ewww.io/ 
EWWW Image Optimizer was built by Shane Bishop and initially released as a plugin in 2012 then refactored as an API in 2013. EWWW is short for Exactly WWW.

API Pricing: 1,500 API credits, starting at $3.00 ($0.002 per image). Auto-recharge is offered.

LEADTOOLS

https://www.leadtools.com/sdk/compression/image-optimizer 
LEADTOOLS, based out of Charlotte, NC, provides a large collection of imaging and document SDK’s. We’re only using the Image Pro SDK and specifically the Image Compression Optimizer SDK. While this isn’t technically an API service, we were interested in comparing a locally run compression kit with the other API’s. We using the OptimizeBuffer method with its default options.

We ran this, along with our ImageResizer service, in a Microsoft Azure B1 web app which consists of 100 Azure Compute Units (ACU) and 1.75 GB memory. It’s a very basic, scaled down server.

Pricing: $795/developer + $195/yr maintenance + deployment license of $500/yr or more + server operating costs

Results

For most services, we ran both lossy and lossless compression. Lossy is usually recommended because it will yield the smallest file sizes. But it also takes the longest to run because it spends more time analyzing each image. Lossless, as expected, didn’t result in a substantial reduction.

I singled out and highlighted LEADTOOLS because it is not a SaaS API service. Like I mentioned before, I included it more out of curiosity than anything else.

JPG Compression Results

The first chart below shows the average duration and average reduction for each service across four JPG images submitted at four different times. I include both the lossy and lossless data, if available. The best performers are highlighted in yellow.

JPG Image Compression

 

Lossy

Lossless

 

Avg Duration

Avg Reduction

Avg Duration

Avg Reduction

ReSmushIt

2.9 s

47.3%

-

-

Tinify

2.7 s

76.0%

-

-

ShortPixel

7.2 s

87.5%

7.8 s

8.0%

Kraken.io

3.0 s

44.0%

3.5 s

10.0%

Imagify

9.0 s

46.7%

6.9 s

8.0%

EWWW

8.1 s

75.1%

4.1 s

8.7%

Leadtools

1.8 s

68.5%

-

-


View Raw Data

Tinify ran the fastest, on average, and had a strong overall reduction. ShortPixel had the best overall reduction.

JPG Lossy Compression - Fastest & Shortest

The chart below shows the fastest and slowest compression times for each service. Each service was called 16 times. The end goal is to reduce the size of the images on your website, so a slow compression time shouldn’t matter as much as the result it achieves. However, when you’re uploading many images at a time and making a lot of edits, the long waits add up quickly. In your content management system, you’ll likely wait until you see the resulting compressed image before you save or publish.

 

Fastest

Slowest

ReSmushIt

2.0 s

7.6 s

Tinify

2.5 s

3.3 s

ShortPixel

5.5 s

8.8 s

Kraken.io

2.8 s

3.8 s

Imagify

6.5 s

12.3 s

EWWW

6.9 s

9.7 s

Leadtools

0.8 s

3.1 s

Compare JPG Compression Results

Select an image and a service to visually compare the original with the resulting compressed image from that service.

Step 1: Select a Thumbnail

Step 2: Select a Compression Service and Quality

Note: Press ESC to close the comparison slider.

PNG Compression Results

The PNG results were a bit surprising. These took a lot longer, on average, and achieved fairly consistent reductions. Tinify had the fastest PNG compression average and tied for the largest reduction. 

PNG Image Compression Averages

 

Lossy

Lossless

 

Avg Duration

Avg Reduction

Avg Duration

Avg Reduction

ReSmushIt

3.9 s

62.8%

-

-

Tinify

3.0 s

67.9%

-

-

ShortPixel

14.1 s

65.2%

15.2 s

2.0%

Kraken.io

5.4 s

67.0%

4.1 s

2.2%

Imagify

14.1 s

61.5%

10.1 s

1.9%

EWWW

11.7 s

67.9%

14.0 s

2.0%

Leadtools

10.3 s

1.9%

-

-


View Raw Data

PNG Lossy Compression - Shortest & Longest

Each one of these services had at least one wait time of 5 seconds or more to generate the compressed PNG. That’s a long time if you’re working with a lot of images. 

 

Fastest

Slowest

ReSmushIt

2.3 s

8.5 s

Tinify

1.9 s

5.3 s

ShortPixel

8.8 s

22.6 s

Kraken.io

3.6 s

11.4 s

Imagify

11.5 s

17.7 s

EWWW

7.2 s

20.2 s

Leadtools

1.2 s

38.3 s

Compare PNG Compression Results

Select an image and a service to compare the original with the resulting compressed image from that service.

Step 1: Select a Thumbnail

Step 2: Select a Compression Service and Quality

Note: Press ESC to close the comparison slider.

Final Thoughts

Based on results above, Tinify was the fastest service, on average, and tied for the best PNG compression. 

ShortPixel provided the best JPG compression by a wide margin but was one of the slowest services for both JPG and PNG.

There are a lot of factors that can change the overall compression speed, such as image size, network latency, and API service load.  It may not be 100% fair to use that as the main factor in your consideration since there are external factors. However, if you’re providing a service that requires your users to wait for the compressed images then it should be one of the factors

 

Built-in CMS Image Resizing & Compression

Marketpath CMS has resizing, cropping, and compression built into its core so you don't have to stress about bulky images.

Learn More

Raw Data

JPG 

View Full List of Averages
Full JPG results for bricks
Full JPG results for girl
Full JPG results for train tracks
Full JPG results for llama

PNG 

View Full List of Averages
Full PNG results for bricks
Full PNG results for girl
Full PNG results for train tracks
Full PNG results for llama

 

Related Tags:

About the Author

Matt Zentz

Matt Zentz launched Marketpath from a small Broad Ripple bungalow in February 2001 with a focus on custom web application development. He built the first, basic version of a hosted CMS called Webtools and shortly afterward expanded his team and created the first version of Marketpath CMS.

Matt has worked for a national consulting firm, taught computer programming to high school juniors and seniors , and led the information technology arm of the auxiliary business units at Indiana University.

Matt graduated from Indiana University in 1999 with a B.S. in Computer Science and has built custom web applications since 1995. Matt is husband to an amazing & supportive wife, has three beautiful children, supreme master to Archimedes (Archie) the dog, and mostly tolerant victim of 2 flying rats (cockateils).

He coaches various kid sports, enjoys furniture and home renovation projects, and plays guitar and piano. Matt is also active with his church as a parishioner, technical advisor and board member on the festival committee.