How to Compress Images Before Uploading to WordPress (Without Wrecking Your Site)
I once uploaded a 4MB photo of a sandwich to a client's food blog. Took the page from loading in 1.2 seconds to 6 seconds. The client noticed before I did. That was the day I stopped trusting "just upload it, WordPress handles it."
It doesn't. WordPress does not handle it. WordPress will happily let you dump a 12MP image straight from your phone onto a shared server and watch your bounce rate climb while you sleep. (Our free image upscaler handles this without the headache.)
So here's what actually works, based on way too many hours spent testing plugins that all claim to be "the best." (Speaking of which, our AI blog writer makes this dead simple.)
Quick Verdict
For most people: install ShortPixel or Imagify and let it run automatically. If you want zero plugins and just need one or two images compressed, use a free online compressor first. Don't pay for a CDN until your site actually has traffic worth optimizing.
The Actual Problem Nobody Tells You
Your phone camera shoots at 4032×3024. WordPress will display that image at maybe 800 pixels wide. You're uploading five times more data than anyone will ever see.
The default WordPress upload process resizes the display size but keeps the original file on your server. So that 4MB original is still sitting there, and some themes or plugins will serve it anyway.
Then there's the compression question. JPEG at 80% quality looks identical to 100% to basically everyone. But people keep exporting at max quality because "better is better." It isn't. It's just bigger.
What I Actually Do Now
Three things, in this order.
One: I resize before I even think about compressing. Resizing a 4000px image down to 1600px does more for file size than any compression setting. Most online tools do both in one pass.
Two: I compress to 75-82% quality for JPEGs. Below 70% you start seeing artifacts around text and sharp edges. Above 85% you're wasting bytes.
Three: I convert to WebP when I can. It's 25-35% smaller than JPEG at the same visual quality. WordPress has supported WebP natively since version 5.8, so there's no good excuse anymore.
Pros & Cons
✅ Pros
- Faster load times mean better Google rankings, and that's not vague advice, it's just how Core Web Vitals work
- Less bandwidth usage, which matters if you're on a cheap shared host with a monthly cap
- Smaller backups. Your hosting provider will thank you, and so will your restore time when something breaks
- WebP conversion cuts file sizes dramatically without visible quality loss on most photos
❌ Cons
- Over-compressing makes images look like a 2009 MySpace profile picture
- Plugin-based compression slows down your admin panel while it processes
- Some free tools add watermarks or limit you to a few files per day
- Converting everything to WebP breaks older browsers and some email clients
Step-by-Step
- Resize first, compress second: Open your image in any editor or online tool and set the longest edge to 1600px for full-width images, 800px for blog thumbnails. Common pitfall: people skip this and wonder why compression "isn't working."
- Pick your quality setting and commit: For photos, 75-80% JPEG quality. For screenshots or graphics with text, use PNG and run it through a PNG optimizer. Pitfall: using JPEG for screenshots makes text look fuzzy.
- Convert to WebP and keep the JPEG as fallback: Upload both, or use a plugin that handles the fallback automatically. Pitfall: uploading WebP only and then finding out your email newsletter tool won't display it.
Pro tip: If you're batch-processing, run everything through a free online compressor before uploading to WordPress. It's faster than waiting for a plugin to chew through 40 images on a shared host.
FAQ
Q: Does WordPress compress images automatically?
A: Yes, but only mildly. It generates multiple sizes and applies light JPEG compression. It won't save you from uploading a 5MB file.
Q: What's the best free tool to compress images before uploading?
A: For quick one-offs, TinyPNG or Squoosh work fine. If you want something that also handles resizing and upscaling in one place, ToolSail's upscaler is worth a look. For bulk WordPress work, ShortPixel's free tier (100 images/month) is solid.
Q: How small should images be before uploading to WordPress?
A: Aim for under 200KB for blog images, under 100KB for thumbnails. If you're above 300KB for a standard blog photo, something went wrong.
Q: Will compressing images hurt my image quality?
A: Only if you go too far. At 75-80% JPEG quality, nobody can tell the difference on a screen. Below 60%, you start seeing blocky artifacts in gradients and around text.
Q: Should I use a plugin or compress before uploading?
A: Both have a place. Plugins are convenient for ongoing sites. Pre-compressing gives you more control and keeps your server from doing extra work. I do both: compress locally, then let a plugin handle WebP conversion on upload.
If you need to resize or upscale an image before compressing it, ToolSail has a free upscaler that handles it without making you create an account.