How to Optimize Images for Web and Performance

Updated on June 09, 2017

Trust us, you don’t want Google to hate your website. Fortunately, you can reduce your image’s file sizes to help improve your website’s performance. One problem with formatting them is that modifications often reduce their quality (which in turn might make the visitor hate your website). That’s not a bad thing as long as you don’t make them ugly. There are some tricks and techniques that let you reduce the image’s file size and still keep them pretty enough to proudly display them on your website. So let’s take a look at how to format your images without making them ugly, as well as how to optimize images for web and performance.

The Benefits of Formatting Your Images

First, why do you need to format your images? What are the benefits? There are numerous benefits of optimizing your images for performance. According to HTTP Archive, as of April 2017, images make up on average 66% of a total webpage’s weight. So when it comes to optimizing your WordPress site, images is by far the first place you should start! It’s more important than scripts and fonts. And ironically, a good image optimization workflow is one of the easiest things to implement, yet a lot of website owners overlook this.

average image size on web

Average bytes per page

Here is a look at the main benefits.

  • It will improve your page loading speed (see our case study below for how much it affects your speed).  If your page takes too long to load your visitors might get tired of waiting and move on to something else. For more information about optimizing your page loading time see our in-depth page speed optimization guide.
  • It improves your SEO. Your site will rank higher in search engine results. Large files slow down your site and search engines hate slow sites. Google will is also likely to crawl and index your images faster for Google image search. Curious about what percentage of your traffic comes from Google image search? You can use a Google Analytics segment to check Google image search traffic.
  • Creating backups will be faster.
  • Smaller image file sizes use less bandwidth. Networks and browsers will appreciate this.
  • Requires less storage space on your server (this depends upon how many thumbnails you optimize)
Images make up on average 66% of a webpage's overall weight. 😱 Optimize them! Click to Tweet

How To Optimize Images for Web and Performance

The primary goal of formatting your images is to find the balance between the lowest file size and an acceptable quality. There is more than one way to perform almost all of these optimizations. One of the most popular tools ways is to simply compress them before uploading to WordPress. Usually, this can be done in a tool like Adobe Photoshop or Affinity Photo. Some of these tasks can also be performed using plugins, which we will go into more below.

The two primary things to consider are the file format and type of compression you use. By choosing the right combination of file format and compression type you can reduce your image size by as much as 5 times. You’ll have to experiment with each image or file format to see what works best.

Choose the Right File Format

Before you start modifying your images, make sure you’ve chosen the best file type. There are several types of files you can use:

  • PNG – produces higher quality images, but also has a larger file size. It only uses lossless compression.
  • JPEG – uses lossy and lossless optimization. You can adjust the quality level for a good balance of quality and file size.
  • GIF – only uses 256 colors. It’s the best choice for animated images. It only uses lossless compression.

There are several others, such as JPEG XR and WebP, but they’re not universally supported by all browsers. Ideally, you should use JPEG (or JPG) for images with lots of color and PNG for simple images.

Compression Quality vs Size

Here is an example of what can happen you compress an image too much. The first is using a very low compression rate, which results in the highest quality (but larger file size). The second is using a very high compression rate, which results in a very low-quality image (but smaller file size). Note: The original image untouched is 2.06 MB.

low compression high quality jpg

Low compression (high quality) JPG – 590 KB

high compression low quality jpg

High compression (low quality) JPG – 68 KB

As you can see the first image above is 590 KB. That is pretty large for one photo! It is generally best if you can keep a webpage’s total weight under 1 or 2 MB in size. 590 KB would be a fourth of that already. The second image obviously looks horrible, but then it is only 68 KB. What you want to do is find a happy medium between your compression rate (quality) and the file size.

So we took the image again at a medium compression rate and as you can see below, the quality looks good now and the file size is 151 KB, which is acceptable for a high-resolution photo. This is almost 4x smaller than the original photo with low compression. Typically simpler images like PNGs should be under 100 KB or less for best performance.

medium compression medium quality jpg

Medium compression (great quality) JPG – 151 KB

Lossy vs Lossless Optimization

It is also important to understand that there are two types of compression you can use, lossy and lossless.

Lossy – this is a filter that eliminates some of the data. This will degrade the image, so you’ll have to be careful of how much to reduce the image. The file size can be reduced by a large amount. You can use tools such as Adobe Photoshop, Affinity Photo, or other image editors to adjust the quality settings of an image. The example we used above is using lossy compression.

Lossless – this is a filter that compresses the data. This doesn’t reduce the quality but it will require the images to be uncompressed before they can be rendered. You can perform a lossless compression on your desktop using tools such as Photoshop, FileOptimizer, or ImageOptim. Some plugins will apply Gzip compression to images (minify them).

It’s best to experiment with your compression techniques to see what works best for each image or format. If your tools have the option make sure you save the image for web. This is an option in many image editors and will give you the quality adjustments so you can perform optimal compression. You’ll lose some of the quality, so experiment to find the best balance you can without making the images ugly.

Image Optimization Tools and Programs

There are a lot of tools and programs out there, both premium and free, that you can use to optimize your images. Some give you the tools to perform your own optimizations and others do the work for you. We are personally big fans of Affinity Photo, as it is cheap and gives you almost identical features to that of Adobe Photoshop.

affinity photo

Compressing photo in Affinity Photo

Here are some additional tools and programs to check out:

Resizing Images to Scale

Another very important issue when it comes to image optimization is you should try and upload them to scale, and not let CSS resize them. This is not as important as compression, but it’s another tip that will ensure your images load as fast as possible across all devices. If you are using WordPress, by default, it resizes your images when uploading them to the media library. These settings can be found under “Settings > Media.” You will want to ensure that the max width is close to the width of your site. This way CSS is not trying to resize your image down to fit inside.

wordpress media settings

WordPress media settings

The WordPress media library creates thumbnails based on your settings. However, the original is still retained and untouched. If you want to resize your images and save disk space by not saving the original, you can use a free plugin like Imsanity.

Imsanity allows you to set a sanity limit so that all uploaded images will be constrained to a reasonable size which is still more than large enough for the needs of a typical website. Imsanity hooks into WordPress immediately after the image upload, but before WordPress processing occurs. So WordPress behaves exactly the same in all ways, except it will be as if the contributor had scaled their image to a reasonable size before uploading.

Image Optimization Plugins You Can Use

Thankfully, with WordPress, you don’t have to do all of the formatting or compression by hand. You can use plugins to do at least some of the work for you automatically. There are several plugins that will automatically optimize your image files as you upload them. They’ll even optimize images that you’ve already uploaded. This is a handy feature – especially if you already have a website filled with images. Here’s a look at some of the best plugins to format your images for better performance.

It is important though that you don’t solely rely on the plugins themselves. For example, you shouldn’t be uploading 2 MB images to your WordPress media library. This can result in eating up your web hosts disk space really fast. The best method is to quickly resize the image in a photo editing tool beforehand, and then upload it and use one of the following plugins to reduce it further.

Imagify Image Optimizer

imagify image optimizer

Imagify Image Optimizer plugin

Imagify is created by the same team who developed WP Rocket, which most of you are probably familiar with. It is WooCommerce, NextGen Gallery, and WP Retina compatible. It also has a bulk optimization feature and you can choose between three different levels of compression, normal, aggressive, and ultra. It has a restore feature as well, so if you are unhappy with the quality you can one-click restore and re-compress at a level which better suits your needs. There is a free and a premium version. You are limited to a quota of 25 MB of images per month with a free account.

Getting rid of the original image and resizing your larger images can also be done with this plugin.

Resize images in Imagify

Resize images in Imagify

ShortPixel Image Optimizer

shortpixel wordpress image optimization plugin

ShortPixel plugin

ShortPixel Image Optimizer is a free plugin that will compress 100 images per month and will compress multiple types of files including PNG, JPG, GIF, WebP, and even PDF files. It will do both lossy and lossless image compression. It will convert CMYK to RGB. It takes your images and thumbnails into the cloud for processing and then brings them back to your site to replace the originals. It creates a backup of the original files so you can manually restore them if you want. It will convert gallery files in bulk. There is no limit to the file size.

Optimus Image Optimizer

optimus image optimizer

Optimus Image Optimizer plugin

The Optimus WordPress Image Optimizer uses lossless compression to optimize your images. Lossless means you won’t see any quality loss. It supports WooCoomerce and multi-site and has a nice bulk optimization feature for those with already large existing media libraries. It also is compatible with the WP Retina WordPress plugin. There is a free and premium version. In the premium version you pay once annually and you can compress an unlimited amount of images. If you combine it with their Cache Enabler plugin you can also dive into WebP images, which is a new lightweight image format from Google.

WP Smush

wp smush plugin

WP Smush plugin

WP Smush has both a free and premium version. It will reduce the hidden information from images to reduce the size without reducing quality. It will scan images and reduce them as you upload them to your site. It will also scan images that you’ve already uploaded and reduce those too. It will bulk smush up to 50 files at once. You can also manually smush if you want. It will smush JPEG, GIF, and PNG image types. File sizes are limited to 1MB.

TinyPNG (also compressed JPGs)

tinypng

TinyPNG plugin

TinyPNG uses the TinyJPG and TinyPNG services (the free account lets you compress around 100 images per month) to optimize your JPG and PNG images. It will automatically compress new images and bulk compress your existing images. It will convert CMYK to RBG to save space. It will compress JPEG images up to 60% and PNG images up to 80% without a visible loss in image quality. It does not have a file size limit.

ImageRecycle

imagerecycle pdf image compression plugin

ImageRecycle – Image & PDF optimizer plugin

The ImageRecyle plugin is an automatic image and PDF optimizer. This plugin focuses on not only image compression but PDFs as well. One really handy feature is the ability to set the minimum file size for compression. For example, if you have images that are 80 KB in size, you can have it automatically exclude them from compression. This ensures images and files are never compressed too much. It also includes bulk optimization and auto image resizing. Note: They have a free 15-day trial, but this is a premium service, and images are uploaded and compressed using their servers. They don’t charge per month, but rather by the total number of images compressed, starting at $10 for 10,000.

Optimize Images for Web Case Study

We decided to do our own little case study and tests to show you just how much optimizing your images for the web can affect your WordPress site’s overall speed.

Uncompressed JPGs

We first uploaded 6 uncompressed JPGs, all of which were over 1 MB in size, to our test site. (See the original uncompressed JPGs). We then ran 5 tests through Pingdom and took the average. As you can see from the speed test below, our total load time was 1.55 seconds and the total page size was 14.7 MB.

speed test uncompressed jpg

Speed test with uncompressed JPGs

Compressed JPGs

We then compressed the JPGs using the Imagify WordPress plugin, using the “aggressive setting.” (See the new compressed JPGs, which still look just as beautiful). We then ran 5 tests through Pingdom and took the average. As you can see from the speed test below, our total load time was reduced to 476 ms and the total page size was reduced to 2.9 MB. Our total load times were decreased by 54.88% and page size was decreased by 80.27%.

speed test compressed jpg

Speed test with compressed JPGs

There is almost no other optimization you can make on your site that will get you over 50% decrease in load times. That is why image optimization is so important, the process above was all automated by the plugin. It’s a hands-off approach to a faster WordPress site. The only other dramatic optimization you could make would be changing up your WordPress hosts. Many customers that move to Kinsta see over 45% speed increases. Imagine moving to Kinsta and optimizing your images!

By optimizing your images, whether it is using a photo editing tool or a WordPress plugin, you can also fix the “Optimize images” warning you get in Google PageSpeed Insights (as shown below.)

pagespeed insights optimize images

PageSpeed Insights optimize images warning

If you have other optimization warnings from speed test tools, make sure to check out our post on Google PageSpeed Insights and our in-depth Pingdom walkthrough.

Using SVGs

Another recommendation is to use SVGs alongside your other images. SVG is a scalable vector format which works great for logos, icons, text, and simple images. Here are a couple reasons why:

  • SVGs are automatically scalable in both browsers and photo editing tools. This makes for a web and graphic designers dream!
  • Google indexes SVGs, the same way it does PNGs and JPGs, so you don’t have to worry about SEO.
  • SVGs are traditionally (not always) smaller in file size than PNGs or JPGs. This can result in faster load times.

Genki wrote a great article where he compares the size of SVG vs PNG vs JPEG. Below are a few takeaways from his testing in which he compared the three different image types.

JPG (optimized size: 81.4 KB)

JPG size
JPG image

PNG (optimized size: 85.1 KB)

PNG size
PNG image

SVG (optimized size: 6.1 KB)

SVG size
SVG image

As you can see above, the SVG is a decrease in file size of 92.51% when compared to the JPG. And when compared to the PNG, 92.83%. Check out our tutorial on how to use SVGs on your WordPress site.

Best Practices

Here are some general best practices when it comes down to how to optimize images for web:

  • Use vector images whenever possible alongside your PNGs and JPGs
  • Use a CDN to serve up your images fast to visitors across the globe
  • Minify your images (JPG, PNG, SVG) with Gzip compression
  • Remove unnecessary image data
  • Crop the white space and recreate it by using CSS to provide the padding
  • Use CSS3 effects as much as possible
  • Save your images in the proper dimensions instead of letting HTML or CSS resize them
  • Use web fonts instead of placing text within images – they look better when scaled and take less space
  • Use raster images only for scenes with lots of shapes and details
  • Reduce the bit-depth to a smaller color palette
  • Use lossy compression where possible
  • Experiment to find the best settings for each format
  • Use GIF if you need animation (but compress your animated GIFs)
  • Use PNG if you need high detail and high resolutions
  • Use JPG for general photos and screenshots
  • Scale your images to their display size to reduce the number of pixels
  • Remove any unneeded image metadata
  • Automate the process as much as possible
  • In some cases, you might want to lazy load images for faster first-page render
  • Save images as “optimized for web” in tools such as Photoshop

Once you’ve formatted your images for better performance and followed best practices, your site will be better liked by search engines, browsers, and networks, and will load faster for your readers. Oh, and make sure to check out our tutorial on hotlinking, to prevent people from stealing your images and bandwidth.

Have you formatted your images for better performance? Do you format them by hand, use a plugin, or both? Is there another tool or plugin you would recommend? Do you have something to add? Let us know about your techniques and best practices in the comments below!

This article was written by Brian Jackson

Brian focuses on our inbound marketing efforts; everything from developing new online growth strategies, content creation, technical SEO, and outreach within the WordPress community. He has a huge passion for WordPress, has been using it for 8+ years, and even develops a couple premium plugins. Brian enjoys blogging, movies, bike rides, and flipping websites.

Hand-picked related articles

  1. Gravatar for this comment's author
    Davide De Maestri May 17, 2017 at 3:20 am

    Great list! Thank you! You forget to mention Imsanity, a must for client that want to upload 10MB+ images :D

    1. Gravatar for this comment's author
      Gary McPherson May 17, 2017 at 5:16 am

      No, they didn’t. Read the article again, perhaps?

      1. Gravatar for this comment's author
        Davide De Maestri May 17, 2017 at 5:26 am

        Ops :) Missed it! Great!

        1. Gravatar for this comment's author
          Brian Jackson May 17, 2017 at 9:02 am

          Thanks David and Gary! We definitely included Imsanity. For those concerned with disk space or perhaps work with clients that upload large files, it’s definitely a great solution.

  2. Gravatar for this comment's author
    Nithya Sudhir May 17, 2017 at 4:32 am

    I absolutely loved this post! Was going to write something similar! Now i’ve got great inspiration! :)

  3. Gravatar for this comment's author
    IgorVaryvoda May 18, 2017 at 1:58 am

    Great write-up! Any love for Sirv.com/Cloudinary/ImgIx type of services? I’m always curious why they’re not mentioned in blog posts like these.
    Let’s take Sirv as an example:
    1. Automatic WebP serving to supported browsers. (All Blink based browsers (Chome, Opera, Chromium etc.) Firefox will add support for it soon hopefully). Others get served the original image.
    2. “Optimal format”. Say you upload a 2.5mb PNG screenshot that can be turned into a 90kb JPG “losslessly”. Done automatically. Converting images, changing quality etc can be done by just appending special parameters to he image url. It’s done on the fly.
    3. Responsive images generation. Automatic of course.
    4. Lazy loading.
    5. Image meta data is stripped by default.
    6. CDN.

    Having used these “image processing” services I really can’t imagine myself going back to the old way of doing things.

  4. Gravatar for this comment's author
    Luke Cavanagh May 18, 2017 at 8:07 am

    Another very solid image optimization service and plugin is ImageRecycle. https://wordpress.org/plugins/imagerecycle-pdf-image-compression/

    1. Gravatar for this comment's author
      Brian Jackson May 19, 2017 at 11:22 am

      Thanks Luke, we have now added ImageRecyle to the post.

  5. Gravatar for this comment's author
    Alexey Kletsel May 20, 2017 at 2:22 am

    Why GIF is the best choice for animated images? Why not mp4 or HTML animation? Typically MP4 (H.264 VBR) is smaller then GIF in few times, doesn’t have 256 color palette artifacts and is supported in all OS and browsers. HTML animation is also much smaller and can be interactive. Why GIF? I used GIF89a in 97-99 up to appearing if Flash. Should I back to GIF?

    1. Gravatar for this comment's author
      Brian Jackson May 21, 2017 at 8:47 pm

      Hey Alexey… it isn’t that GIF is better. But for the standard users, GIFs are used a lot because of popular services such as GIPHY making them easily accessible to add humor to blog posts.

      1. Gravatar for this comment's author
        Jaredcheeda May 31, 2017 at 5:16 am

        GIPHY, like most “GIF” sharing sites, actually serves more HTML5 videos than GIFs as they can be higher quality and smaller filesize, with an optional GIF fallback. If you upload a video clip to these sites, they will typically use an automated process to produce a gigantic fallback GIF (usually over 100MB in size). These aren’t great sites for GIF viewing, but they are very efficient sites for GIF-esque video.

    2. Gravatar for this comment's author
      Jaredcheeda May 31, 2017 at 5:15 am

      MP4 isn’t an image format, it’s video. If your content is better represented using a video format, then yes use that. GIF is the only universally available image format that offers animation capability. Though in some cases you can get by with CSS animations (sprite-based PNG/JPG), or serving APNG to Chrome/Firefox and GIF to all else. Similarly most “GIF” sharing sites will attempt to use HTML5 video with a GIF fallback for browsers that don’t support HTML5 video.

  6. Gravatar for this comment's author
    Chris Brown May 22, 2017 at 7:26 am

    Jpg is lossy and lossless? Gif is lossless? Umm ok…

    1. Gravatar for this comment's author
      Jaredcheeda May 31, 2017 at 5:09 am

      If your input image is less than 257 colors, than a GIF is 100% lossless. So single color channel images (all pixels use the same hue value), or things like pixel art for video games. Of course, an 8-Bit PNG would also be lossless in this case and has better options for compression allowing it to produce a smaller image. There are versions of JPG that offer a “Lossless” mode, though it still throws away data in many cases due to the format’s color space and bit-depth restrictions. Same is true for lossless WebP. If you truly care about lossless, look into FLIF.

  7. Gravatar for this comment's author
    George @ JK June 1, 2017 at 5:24 pm

    Great article! Just a tip, most image editor programs either come with a “save for web” option, or have 3rd party plugins that do that to drastically cut down on image file size. I used Infranview for many years not knowing a plugin exists for it for that purpose. Here’s a plug, but to compress a single image quickly online, Image Compressor Tool is a nice free service: http://tools.dynamicdrive.com/imageoptimizer/

  8. Gravatar for this comment's author
    Evaldas Mockus June 2, 2017 at 6:08 am

    Very informative review about image optimization. We created free web image optimizer Cheetaho. You can also use it as WP plugin https://wordpress.org/plugins/cheetaho-image-optimizer/

  9. Gravatar for this comment's author
    IADMS Bangalore June 14, 2017 at 3:35 am

    From SEO point of view it is really important to optimize images on website, as it can help reduce to the page load time and increases website performance. Great post, thanks for the sharing.

  10. Gravatar for this comment's author
    Jérôme Meier June 16, 2017 at 12:08 am

    Does any of these plugins leave the colour profile untouched? When I set a colour profile in Photoshop and then optimise the image with a plugin, the profile is gone…

  11. Gravatar for this comment's author
    Jacob Stamm June 16, 2017 at 3:16 pm

    Best tool I’ve ever used for PNG compression is PNGGauntlet (https://pnggauntlet.com/). It’s a totally free desktop program that automatically runs images through several algorithms and gives insanely high compression ratios, completely lossless. I once used it to compress a library of six hundred 1920×1080 resolution images down from 1.7GB to 1.02GB – that’s a lossless 40% reduction in file size (https://www.reddit.com/r/halo/comments/545742/all_600_achievement_art_images_from_mcc_in_full/)

    Beware, it takes a while to run the compression algorithms on each image, so you’ll want a beefy multi-core processor if you want large images to process in a timely manner.

  12. Gravatar for this comment's author
    Pardeep Singh June 20, 2017 at 1:43 am

    Hello Sir, can i migrate my site – https://www.prtricks.in from godaddy hosting to Kinsta because i like kinsta so can you help me for migration system?? please

    1. Gravatar for this comment's author
      Brian Jackson June 20, 2017 at 9:32 am

      Hi Pardeep. Feel free to send our team a message and they can help you in the migration process. https://kinsta.com/contact-us/

  13. Gravatar for this comment's author
    Andres Caro July 3, 2017 at 5:02 pm

    Thank you for all the info you share in this post!

    I have optimized my product images for a woocommerce store to be 1024×1024 PNG with an average file size of 11KB, I uploaded those files to woocommerce with a file name like “product-one-1024×1024.png”.

    WooCommerce media settings are: Catalog=300x300px – Product=600x600px – Thumbnails=180x180px
    Wordpress media settings are: Thumbnail=150x150px – Mid size=300x300px – Big size=1024x1024px

    I tested my site with google pagespeed insights and it tells me that I need to optimize the images from my site, but the file names of the images google refer to are “product-one-1024×1024-768×768.png” and the file size of that image is 36KB (3,27 X bigger than the original file size, but image size smaller 768×768)

    How to know where is this image generated?, because none of the setting is forcing to generate an image size of 768×768

    And most important, how to solve it?

    Thanks in advance

  14. Gravatar for this comment's author
    Steve Pearce November 23, 2017 at 11:26 pm

    Wonderful post. Thank you for this sharing valuable information.

  15. Gravatar for this comment's author
    Sandy December 8, 2017 at 4:25 am

    there is no information about image alt text..

    1. Gravatar for this comment's author
      Brian Jackson December 8, 2017 at 1:20 pm

      Hey Sandy, for image alt text check out our SEO article: https://kinsta.com/blog/wordpress-seo-checklist/

Leave a Reply to George @ JK Cancel reply

Use WordPress?

Join 20,000+ others who get our FREE weekly newsletter with WordPress tips on how to drive more traffic and revenue to your business!

You have Successfully Subscribed!

Send this to a friend