Get 3× more free conversions ! Sign up free and go from 5 to 15. Sign up !
Back to blog

Compress WordPress images without a plugin

WordPress does not compress uploads on its own. Compare Imagify, ShortPixel and EWWW with a no-plugin workflow, then compress before you upload.

Compress

Search "compress images WordPress" and Google shows plugin roundups: Imagify, ShortPixel, EWWW, Optimole, Smush. That is the right result for people who want a set-and-forget plugin. It is the wrong default if you want control, if your host is already slow, or if you only publish a few images a week.

This guide answers the question those roundups skip: does WordPress compress images on its own, and what do you actually need?

Does WordPress automatically compress images?

Partially, and not in the way people mean.

On upload, WordPress:

  1. Stores the original file.
  2. Generates resized variants (thumbnail, medium, large, plus theme sizes).
  3. Since WordPress 4.5, applies a JPEG quality of 82 when it regenerates a JPEG. It does not recompress a PNG. It does not convert anything to WebP unless you add code or a plugin.

The original you drop in the Media Library is stored as-is. A 4 MB camera JPEG stays 4 MB. A screenshot PNG stays a screenshot PNG. WordPress then serves that original whenever the template asks for the full size, which is common for featured images and Gutenberg covers.

That is why a site with "only twenty posts" still fails LCP: twenty uncompressed hero images.

WordPress 5.8 accepts WebP uploads. WordPress 6.5 accepts AVIF. Native support means the Media Library will store those formats. It does not mean WordPress converts your JPGs for you.

What the plugins actually do

The roundups are not wrong. They describe real products. Here is the job each one does, in one line.

Plugin What it does Cost of that job
Imagify Compresses on upload, optional WebP. Runs on your server or via their API. PHP on every upload, plus a quota plan.
ShortPixel Same idea, strong bulk optimiser, WebP/AVIF. Credits per image.
EWWW Can run locally (no cloud) or via their API. Local mode burns CPU on shared hosting.
Optimole Replaces image URLs with a CDN that resizes on the fly. You depend on their CDN for every page view.
Smush In-plugin compression, limited free bulk. Slow on large libraries, easy to leave half-done.

They earn their ranking because they match the search: "I have a WordPress site, I want images smaller, I will install something." If that is you, pick one, run bulk once, and stop reading.

If any of this is true, skip the plugin:

  • Your host already times out on plugin updates.
  • You sell on Shopify or a static site as well, and do not want a WordPress-only tool.
  • You publish in batches (a shoot, a catalogue) and can compress once before upload.
  • You already pay for Morphix Pro / an API and do not want a second subscription.

How to compress WordPress images without a plugin

The workflow is the same as any other CMS. Compress before the file enters WordPress, then upload a file that is already the right size.

1. Resize to the theme width

Most themes render content between 800 and 1200 px. Featured images are often 1200 to 1920 px. A 4000 px export from Lightroom wastes bandwidth on every visit. Resize to the largest size the theme actually displays, not to the camera's native resolution.

2. Choose the format

  • Photographs: WebP at quality 80-82. WordPress serves WebP natively since 5.8. Fallback JPG is optional in 2026.
  • Logos, screenshots, UI, anything with text or flat color: keep PNG, compress it, or use WebP lossless. Do not run photos through PNG.
  • Maximum compression on modern browsers: AVIF, with WebP as the <picture> fallback if you control the theme.

Use the JPG to WebP or PNG compressor depending on the file. For a whole library, the batch converter processes the set in one pass.

3. Target size

Placement Target
Inline blog image under 150 KB
Featured / hero under 300 KB
Logo / icon under 30 KB
Gallery thumb under 50 KB

Quality 80 on a correctly sized photo usually lands in that range. If it does not, the file is still too wide.

4. Upload through the Media Library

WordPress will still generate its variants. They inherit the already-small original, so the thumbnails are cheap. You do not need a plugin running on cron to "finish" the job.

If you later change theme and need new image sizes, regenerate thumbnails with the core "Regenerate Thumbnails" plugin (one-shot, then remove it) rather than leaving a compressor installed forever.

Plugin vs no plugin, in practice

Use a plugin when images arrive from several authors, WooCommerce imports, or a page builder that you do not want to train. Automatic beats discipline in a team of ten.

Skip the plugin when you control the files. A catalogue of 200 product shots compressed once in batch is faster than waiting for a shared-hosting cron to chew through Imagify credits. The same files can go to WordPress, Shopify, and email without a CMS lock-in.

The Compress images for WordPress landing is the tool side of this workflow. This article is the decision: plugin, or not.

For PNG-heavy themes (default Twenty-something screenshots, logos, badges), start with Compress PNG for WordPress. WordPress will not lossy-compress those files for you.

FAQ

Does WordPress automatically compress images?

It resizes them and, for JPEGs it regenerates, applies quality 82. It does not compress the original you upload, and it does not touch PNGs. Treat the Media Library as storage, not as an optimiser.

What is the best WordPress plugin for compressing images?

For set-and-forget on a single WordPress site: Imagify or ShortPixel. For no cloud dependency: EWWW in local mode, if the server can take the CPU. For no plugin at all: compress before upload with a batch tool, then let WordPress only store and resize.

Should I still use a caching plugin?

Yes. Image weight and page cache are different problems. Compress the files, then cache the HTML. One does not replace the other.

Can I use WebP and AVIF in WordPress without a plugin?

Yes. Upload WebP since 5.8 and AVIF since 6.5. Convert the files first, then upload. You only need a plugin if you want WordPress to convert existing JPG/PNG in the library for you.

Ready to optimize your images?

Start for free