10 Best Image Compression Tools for Websites (2026 Review)

10 Tools for Compressing and Optimising Web Page Images

Images are usually the heaviest files on a page. When they are wider than the layout, or saved as a heavy JPEG or PNG, the page feels slow. The largest picture is often what Google records as Largest Contentful Paint.

This review compares 10 image compression tools for websites. It covers WebP, AVIF, PNG and JPEG, when a free online compressor is enough, and when a plugin should look after the library.

What is the Best Image Compression Tool for Websites?

For a WordPress site with a media library, ShortPixel is the best image compression tool: it compresses the uploads in bulk and writes WebP and AVIF copies beside the originals. TinyPNG is the best free online compressor for a handful of files on any site. Use Squoosh when you need to compare WebP, AVIF and JPEG on one image before you publish it.

Match the tool to the job:

  • WordPress library, including bulk WebP and AVIF: ShortPixel.
  • Free online compressor, no install: TinyPNG.
  • One image, and you want to judge the quality yourself: Squoosh.
  • Free WordPress plugin that runs on your server: EWWW Image Optimizer.
  • An API, or a Magento store: Kraken.io.
  • A Mac, before the files are uploaded: ImageOptim.
  • A hero you are already designing: Photoshop or GIMP.

Resize the image to the size the page displays, compress it, then serve WebP or AVIF with a JPEG or PNG fallback.

Image compression tools compared

ToolBest forFormatsFree tier / price
ShortPixelBulk WebP and AVIF on WordPressJPEG, PNG, GIF, WebP, AVIFFree monthly credits; paid plans for a whole library
TinyPNGFree online batchesJPEG, PNG, WebP, AVIF, JPEG XL20 images a session, 5 MB each. API: 500 free compressions a month
SquooshComparing WebP, AVIF and JPEGJPEG, PNG, WebP, AVIF, JPEG XLFree. Runs in the browser, one image at a time
Kraken.ioAPI, WordPress and MagentoJPEG, PNG, GIF, SVG, WebP, AVIF, HEIC, PDF100 MB free test quota; plans from $5 a month
EWWW Image OptimizerFree compression on your own WordPress serverJPEG, PNG, GIF, WebP; AVIF on Easy IOPlugin free; Easy IO from $8 a month
ImageOptimLocal compression on a MacJPEG, PNG, GIF, SVGFree. Does not export WebP or AVIF
Compressor.ioA quick lossy or lossless fileJPEG, PNG, GIF, SVG, WebPFree online compressor
JPEGminiJPEG photographsJPEG, including HEIC converted to JPEGPaid desktop app, with a web version to try
Adobe PhotoshopHero images you are already editingJPEG, PNG, GIF, WebP, AVIFCreative Cloud subscription
GIMPFree manual WebP and AVIF exportJPEG, PNG, GIF, WebP, AVIFFree

Prices are in US dollars, as the vendors publish them. Allowances change, so confirm the current figure before you buy.

How much you save depends on the picture. The table compares the job, the formats, whether the tool can process a library or only one file, where the file is processed, and the free tier.

How to compress images for the web

Image compression for a website is five steps. Do them in order. A quality slider cannot rescue a file that is four times wider than the slot it sits in.

1. Resize to the size the page displays

Measure the slot in the template. A column that is 760 pixels wide does not need a 4,000-pixel photograph. Export at the display width, and export a double-width file as well if you want it sharp on high-density screens. srcset can choose between them.

Resizing sits alongside lazy-loading, CDNs and caching in How to Optimise Images to Increase Page Speed.

2. Choose the format

Use AVIF or WebP for photographs, with JPEG as the fallback. Use SVG for logos and simple icons. Use WebP or PNG for graphics that have flat colour, hard edges or transparency. Leave GIF for small animation, not for photos. Choosing between WebP, AVIF and JPEG is covered further down, and the FAQ has the short version.

3. Compress, lossy or lossless

Photographs can take lossy compression. Logos, icons and images with small text should stay lossless. TinyPNG and Squoosh are enough for a page you are editing by hand. A WordPress media library should go through ShortPixel or EWWW Image Optimizer, so the next upload is compressed too. The plugin choices are in 6 WordPress plugins for optimising images.

4. Load the image so it helps Core Web Vitals

Give every image a width and a height. The browser can then reserve the space, which protects Cumulative Layout Shift. Lazy-load images below the fold. Leave the first, largest image out of lazy-loading. That picture is often the Largest Contentful Paint element, and delaying it makes the score worse. Where the template allows it, set fetchpriority to high on that hero.

Write alt text that describes the picture for someone who cannot see it.

5. Measure the page, not only the file

Run the URL in PageSpeed Insights and read LCP for the template you changed. How to test, and what to do after the images, is in the page speed optimisation guide. A small image on a slow server is still a slow page.

The 10 best image compression tools

1. ShortPixel – best for bulk WebP and AVIF compression

ShortPixel is the tool to install on a WordPress site that already has a media library. It compresses existing uploads in bulk, then keeps compressing new ones. It writes WebP and AVIF alongside the originals, so the page can serve a smaller file without a separate export.

ShortPixel online compressor with Lossy selected, beside Glossy and Lossless
ShortPixel’s online compressor. Lossy, Glossy and Lossless are the same three modes as the WordPress plugin.

Best for: WordPress sites that need the whole library done, including WebP and AVIF.

Also runs as: an online compressor, for a site that is not on WordPress. The plugin is what makes ShortPixel the best fit for a WordPress library.

Formats: JPEG, PNG, GIF, WebP and AVIF. It can turn an animated GIF into an animated WebP or an MP4, and it can convert BMP and TIFF into web formats.

Compression: Lossy, Glossy and Lossless. Glossy sits between the other two. Start there for brand photography, then check the templates that carry the most traffic.

Price: A free monthly credit allowance, then paid monthly plans or one-time credit packs. A WebP or AVIF copy uses credits as well as the original, so a large library costs more than compressing the originals alone. Check the current pricing page before you run it across every thumbnail.

How to use it:

  1. Install ShortPixel Image Optimizer in WordPress and connect the API key.
  2. Choose Glossy, and turn on WebP and AVIF conversion.
  3. Run bulk optimisation. Exclude thumbnail sizes the theme never prints. ShortPixel can choose which generated sizes are processed.
  4. Open two or three important URLs and confirm the image requests are the new files.

ShortPixel fits agencies and multisite installs, and it can be run from the command line. It is the wrong first choice if you only have five pictures and no WordPress site. Use TinyPNG for that.

2. TinyPNG – best free online image compressor

TinyPNG (Tinify) is the fastest way to compress a small set of images in the browser. You drop files on the page, and it returns smaller ones. It handles PNG, JPEG, WebP, AVIF and JPEG XL, which is a long way from the PNG-only tool people still remember.

TinyPNG drop area for a batch of up to 20 images, 5 MB each
TinyPNG, ready for a batch of up to 20 images.

Best for: A free online image compressor when you are publishing a page today and you do not want an account.

Also runs as: a developer API, an official WordPress plugin, and community plugins for other platforms.

Price: Free web use is 20 images per session and 5 MB per image, with up to three format conversions per session. Paid web plans remove the session cap and raise the file-size limit. The API includes 500 free compressions each month, then a per-compression charge, with no monthly minimum. The allowance is listed in the developer docs.

How to use it:

  1. Open tinypng.com and drop up to 20 files on the page.
  2. Download the results and upload them to the page.
  3. On a site that keeps growing, connect the WordPress plugin or the API. The free web page will not watch the library for you.

TinyPNG’s strength is that the default result looks clean on photographs and on graphics with transparency. It is a manual step. For a catalogue of thousands of images, move to ShortPixel, EWWW Image Optimizer or Kraken.io.

3. Squoosh – best for comparing WebP, AVIF and JPEG

Squoosh is a browser app from the Chrome team. The image stays on your computer. Squoosh compresses it locally, which makes it the right place to try a hero image before you commit the whole site to a format.

Squoosh comparing a photograph, with MozJPEG quality set to 75
Squoosh comparing one of its sample photographs. This original is 2.79 MB. The MozJPEG copy beside it is 862 KB.

Best for: Deciding the format and quality of one important image.

Formats: MozJPEG, OxiPNG, WebP, AVIF, JPEG XL and others, with a split preview so you can see the original and the result together.

Price: Free. One image at a time.

How to use it:

  1. Open squoosh.app and drop one image onto it.
  2. Try WebP, then AVIF. Watch the file size and the preview.
  3. Judge the picture at the size it will appear on the page, not only at full zoom.
  4. Download the version that still looks right, and keep the original master.

Squoosh will not batch a media library. Use it to choose a quality setting, then apply that decision in ShortPixel, Kraken.io, or your own build step.

4. Kraken.io – best image compression API for websites

Kraken.io is the best fit when a developer will connect compression to the site. That includes Magento and WordPress, not only a WordPress plugin. The wider Magento set is in the Magento page speed tools guide. The same account covers the API, the web interface, a WordPress plugin and a Magento extension.

Kraken.io web interface with lossy compression selected
Kraken.io’s web interface. The free version compresses a file you upload. Resizing and format conversion are on a paid plan.

Best for: Automated image compression for a website, a shop, or more than one CMS.

Formats: JPEG, PNG, GIF, SVG, WebP, AVIF, HEIC and PDF.

Compression: Lossy, Lossless and Expert. Kraken says its lossy mode typically saves at least 60% of the original weight, and often more. Check that against your own product photos, especially ones with fine texture or small labels.

Price: A free account includes 100 MB of test quota and does not need a card. Paid plans on Kraken’s pricing page are $5 a month for 500 MB, $9 for 2 GB, $19 for 5 GB, $39 for 15 GB and $79 for 60 GB. Quota is measured on the unprocessed files and is shared by the API, the web interface and the plugins. The free web interface allows 20 files at a time, up to 1 MB each. Resizing, format conversion and a higher file-size limit are on paid plans.

How to use it:

  1. Compress a few real images on the free web interface and compare Lossy with Lossless.
  2. If the quality holds, create an account and connect the WordPress plugin, the Magento extension, or the API.
  3. Use Lossy for photographs and Lossless for logos and images with fine text.
  4. Resize in the same pass once you are on a paid plan, so you are not storing a 4,000-pixel original as the file the template requests.

Choose Kraken when someone on the team will own the integration. TinyPNG is the faster stop for a handful of files, and ShortPixel is the simpler install on WordPress.

5. EWWW Image Optimizer – best free WordPress plugin

EWWW Image Optimizer is the WordPress plugin to use when you want compression without a per-image credit. The free plugin optimises images on your own server, and it can create WebP versions when the host has the tools it needs.

EWWW Image Optimizer settings in WordPress, showing the API key and Easy IO
EWWW Image Optimizer’s settings in WordPress, including Easy IO.

Best for: WordPress sites that can do the work locally, and teams that want a free starting point.

Formats: JPEG, PNG and GIF on the free plugin, plus WebP where the server supports it. AVIF, and automatic delivery of the smallest format, come with the paid Easy IO CDN.

Price: The plugin from the WordPress directory is free for local optimisation. Easy IO starts at $8 a month or $80 a year. That plan includes the CDN, automatic WebP and AVIF, unlimited images and a bandwidth allowance. Higher tiers raise the bandwidth.

How to use it:

  1. Install EWWW Image Optimizer and run a bulk optimisation on the media library.
  2. Turn on WebP if the plugin reports that the server can encode it.
  3. Add Easy IO if you want AVIF, or if the host has disabled the local binaries.
  4. Re-test a product template and a content template. Local results vary by host, so a spot check matters more here than with a cloud service.

EWWW is the right free plugin. ShortPixel is the smoother bulk-and-AVIF setup if you would rather pay per credit than depend on the server.

6. ImageOptim – best free image compressor for Mac

ImageOptim is a free, open-source Mac app. You drop files on the window. It strips private metadata such as GPS, and it runs several compressors, including MozJPEG, pngquant and SVGO, then keeps the smallest result.

ImageOptim on a Mac, showing the file-size saving on two images
ImageOptim on a Mac, after compressing two files. It needs macOS 11 or later.

Best for: A designer on a Mac who wants images compressed locally, before anyone uploads them.

Formats: JPEG, PNG, GIF and SVG. The Mac app does not export WebP or AVIF. Create those formats in Squoosh, Photoshop, GIMP, or your CMS plugin.

Price: Free. It needs macOS 11 or later. Install it from the developer’s site. The Mac App Store listing is a different build, and the paid API under the same name is a different product.

How to use it:

  1. Export JPEG, PNG, GIF or SVG files from your design tool.
  2. Drop them on ImageOptim.
  3. For smaller photographs, turn on Lossy minification in Preferences. The default is cautious and keeps every pixel.
  4. Upload the results, then make WebP or AVIF copies with a tool that can write them.

ImageOptim is excellent at the job it actually does, and it keeps client files off someone else’s server. On a current site it is one step, followed by a modern-format export.

7. Compressor.io – best simple lossy and lossless online tool

Compressor.io compresses JPEG, PNG, GIF, SVG and WebP in the browser, with lossy and lossless modes. That pair of modes is the reason to open it: you can see what lossless saves, and what lossy saves, on the same graphic.

Compressor.io with lossy and lossless compression types
Compressor.io, with lossy and lossless next to each other.

Best for: A single file, when you want a lossy result and a lossless result side by side.

Formats: JPEG, PNG, GIF, SVG and WebP. It does not advertise AVIF, and it is not a WordPress or Magento plugin.

Price: The compressor is free to use in the browser. Some extra controls on the page are marked Pro. If a control you need is locked, use Squoosh or TinyPNG rather than paying for a one-off.

How to use it:

  1. Open compressor.io and upload one image.
  2. Compare the lossy and lossless downloads.
  3. Keep the smallest file that stays sharp at the display size, and upload that to the CMS.

Compressor.io will not compress the next image a colleague uploads tomorrow. Use it for a landing page or a blog post, then put a plugin on the site.

8. JPEGmini – best for JPEG photographs

JPEGmini compresses JPEG, and it can convert HEIC (the format iPhone photos use) to JPEG. It does not produce PNG, WebP or AVIF. The narrow scope is the point: it is aimed at photographers who need a smaller JPEG that still looks like the file they delivered.

JPEGmini website with a button to download the desktop app
JPEGmini’s site. The compressor itself is the desktop app.

Best for: Camera JPEGs, and teams who already export from Lightroom or Photoshop.

Price: A paid desktop app, with plugins for photo editors including Photoshop and Lightroom, and a web version you can try. Confirm the current licence on jpegmini.com.

How to use it:

  1. Export a high-quality JPEG from the editor, once.
  2. Run that file through JPEGmini, on the desktop or through the plugin, so you are not re-saving a JPEG by hand.
  3. If the website can serve WebP or AVIF, make that the file visitors receive, and keep the JPEGmini JPEG as the fallback.

A site that only runs JPEGmini is still sending JPEG to every browser. Pair it with a format converter. Skip it entirely if your images are mostly PNG graphics.

9. Adobe Photoshop – best for hero images you already edit

Photoshop is the right place to compress a picture when you are already retouching it. It is the wrong place to batch a media library of hundreds of files.

Photoshop on the web, with a box for dropping a file
Photoshop on the web. In the desktop app, WebP and AVIF are saved from File > Save a Copy.

Best for: Heroes, campaign assets, and any image where someone needs to look at the quality before it is published.

Formats: JPEG, PNG and GIF are available from the older export paths. In current Photoshop, WebP and AVIF are saved from File > Save a Copy. WebP has been available since Photoshop 23.2 (February 2022). AVIF arrived in Photoshop 26.8 (June 2025). Neither format is offered in Export As or in Save for Web (Legacy). If AVIF is missing from Save a Copy, update Photoshop.

Price: A Creative Cloud subscription.

How to use it:

  1. Keep the PSD as the master. Do not flatten over it.
  2. Resize to the largest size the template needs, including a 2x file for high-density screens.
  3. Choose File > Save a Copy, then WebP or AVIF.
  4. Inspect skin tones, edges and any text at the size the page uses.
  5. Hand a large set of images to ShortPixel, EWWW Image Optimizer or Kraken.io.

Photoshop is worth using when someone needs to reject a file that a bulk tool would ship. It is a poor way to compress a whole site.

10. GIMP – best free editor for WebP and AVIF export

GIMP is the free desktop editor for the same job as Photoshop. It runs on Windows, Mac and Linux. Current releases import and export WebP and AVIF from File > Export As. The AVIF dialog includes quality, lossless, chroma and bit depth. GIMP does not export animated AVIF.

GIMP website offering the download of version 3.2.6
GIMP 3.2.6 on the project’s site. WebP and AVIF are exported from File > Export As.

Best for: Teams that need a free editor and are happy to export delivery files by hand.

Price: Free.

How to use it:

  1. Edit the image, then choose File > Export As.
  2. Name the file .webp or .avif. Keep the working file as the master.
  3. For a photograph, start with lossy quality and look at the preview. For flat colour and small text, try lossless, or export PNG or SVG instead.
  4. If an AVIF looks stained along hard edges, raise the chroma setting and export again.

GIMP will not watch a folder on the server. It is the right tool for the files a designer finishes by hand, and the wrong tool for every product image that lands in WooCommerce. That shop setup is covered in WooCommerce image optimisation.

Lossy and lossless compression

Lossless compression packs the file and keeps every pixel. Use it for logos, icons, screenshots of an interface, and any image that contains small text. The file does get smaller, usually by less than a lossy pass would save.

Lossy compression removes detail that people tend not to see at the size the image is displayed. Use it for photographs, backgrounds and lifestyle imagery. JPEG is lossy. PNG is lossless. WebP and AVIF can do either.

There is no universal quality number. A setting that looks clean on a landscape can look blotchy on fabric, hair or a product label. Compare before you apply one setting to a library. Squoosh is the easiest place to do that for a single file. For a bulk run, ShortPixel’s Glossy mode and Kraken’s Lossy mode are sensible starting points, followed by a check of the pages that bring traffic and the pages that take orders.

“Without losing quality” means this: at the size the visitor sees, they should not be able to tell the compressed file from the master. Zoomed to 400% on a designer’s monitor is a different test.

Online compressor, desktop app, or WordPress plugin?

You are doing thisUse this
A handful of images for a page you are editing nowTinyPNG, Squoosh or Compressor.io
Files still on a Mac, not uploaded yetImageOptim, then a WebP or AVIF export
A designer is already in Photoshop or GIMPPhotoshop: File > Save a Copy. GIMP: File > Export As
WordPress, including images already in the libraryShortPixel or EWWW Image Optimizer
JPEG files inside a Lightroom workflowJPEGmini, then a modern format for delivery
Magento, or a custom app with a developerKraken.io
ShopifyShopify’s own image pipeline. A WordPress plugin will not run there

On Shopify, image SEO is a different job from installing a plugin. See Shopify image optimisation.

Once the files are small, put them closer to the visitor. A content delivery network does that for a spread-out audience. If the media library itself is what makes the origin server busy, image offloading moves the files off the box that also runs the CMS. WordPress delivery, including lazy-loading, is covered in How to Increase WordPress Image Speed.

How to choose between WebP, AVIF and JPEG

Serve AVIF to browsers that accept it, WebP next, and JPEG or PNG last. AVIF is usually the smallest photograph. WebP is the best default, because support in current browsers is effectively universal and the files are still smaller than JPEG at the same visual quality. JPEG remains the right fallback, and the right only-format if the CMS cannot negotiate a modern one. Browser support and the size differences are set out in Google’s guide to choosing an image format.

Logos and simple icons belong in SVG. A photograph does not.

On WordPress, ShortPixel and EWWW’s Easy IO can create the extra formats and point the page at them. If you write the template yourself, a picture element does the negotiation. The hero below is not lazy-loaded. It has width, height and a high fetch priority, because it is the image visitors see first:

<picture>
  <source type="image/avif" srcset="hero.avif" />
  <source type="image/webp" srcset="hero.webp" />
  <img
    src="hero.jpg"
    alt="Team reviewing a website layout on a laptop"
    width="1600"
    height="900"
    fetchpriority="high"
  />
</picture>

Add a second width with srcset when you have a 1x and a 2x file. Keep the original master, and publish the size the template actually displays.

Frequently asked questions

How much image compression is needed for web performance?

Google does not publish a maximum image weight. Resize the image to the width it is displayed at, then compress a photograph until it still looks clean and stop there. As a practical target, keep a content-column image under about 150 KB and a full-width mobile hero under about 200 KB. Use lossy compression for photographs. Use lossless compression for logos, icons and images that contain small text. The largest saving usually comes from pixel dimensions, not from the quality slider.

Which format is best for web images: WebP, AVIF, or JPEG?

AVIF is usually the smallest format for photographs. WebP is the best default for most websites, because browsers in current use support it and the files are smaller than an equivalent JPEG. Serve JPEG as the fallback for photographs, and PNG as the fallback for graphics that need transparency, when the site cannot deliver WebP or AVIF to every visitor. Use SVG for logos and simple icons. Avoid GIF for photographs.

How does image compression affect page speed and Core Web Vitals?

A smaller file downloads faster. When that file is the largest element in the viewport, compression can improve Largest Contentful Paint, which Google classes as good at 2.5 seconds or less for 75% of visits. Set every image’s width and height, because compression does not stop layout shift, and a good Cumulative Layout Shift score is 0.1 or less. Do not lazy-load the hero image. Interaction to Next Paint, good at 200 milliseconds or less, is rarely fixed by compression on its own. Google defines LCP, INP and CLS on its Core Web Vitals page.

What is the best free image compression tool?

TinyPNG is the best free online image compressor for a small batch: 20 images a session, up to 5 MB each, including WebP and AVIF. Squoosh is the better free choice when you want to compare formats on a single image without uploading it. On WordPress, EWWW Image Optimizer is the best free plugin, because it compresses on your own server.

When should a website use lossless compression?

Use lossless compression when a changed pixel would be obvious: logos, icons, interface screenshots and images with small text. Use lossy compression for photographs and busy backgrounds. WebP and AVIF can do either. PNG is lossless. JPEG is lossy. Check the result at the size the page actually displays, not only at full zoom.

Also in this series

This post is part of the page speed optimisation guide.

When image compression is not enough

A compressed image on a slow page is still a slow page. After the media is in good shape, what is left is usually the server, a heavy theme, too many scripts, or a hero the browser only discovers late. The rest of that work is in the page speed optimisation guide.

If you want that work done on the site, start with our page speed optimisation. Sites on WordPress can go to WordPress page speed optimisation. If crawlability or indexation is part of the problem, our technical SEO team takes it from there.

Compress the files you have, serve a modern format, and measure LCP on the templates that matter. That is the job of an image compression tool. Everything after it is page speed.

Share this article

In this cautionary tale, I am going to reveal a real-life cost to conversion rate optimisation services—or rather, the cost...
Securing a server and scrubbing malicious scripts represents only the first phase of a hacked website recovery. Our recent technical...
When you open Google Search Console to find your “Crawled – currently not indexed” report has suddenly spiked by more...