Image Compressor
Drop a JPG, PNG, or WebP and get a smaller file back in seconds. The quality slider lets you find the sweet spot, most images look identical at 80%. Nothing leaves your browser.
Input
Drop an image here
or click to browse: JPG, PNG, WebP
Settings
How to compress an image online
Three steps. The quality slider is the only decision you need to make.
- 01
Drop your image
Drag a JPG, PNG, or WebP onto the tool or click to browse. The file stays on your device. The Canvas API handles everything locally, so nothing is sent anywhere.
- 02
Move the quality slider
Start at 80%. That's where most images look identical to the original but are 40–70% smaller. Go lower if you need a smaller file and can accept slight softness in gradients or fine detail.
- 03
Check the size difference, then download
The before/after sizes show exactly how much you saved. If the reduction isn't enough, drop the quality a bit more. When you're happy, hit Download.
Why people compress images
Usually one of these six reasons.
Slow website? Images are usually why
A single uncompressed hero image can be 3–5 MB. Compress it to 300 KB and your page loads in a fraction of the time. Google's Core Web Vitals score improves too.
Email attachments that actually open
Most email providers cap attachments at 10–25 MB. A batch of phone photos can hit that fast. Compress before attaching and recipients on slow connections will thank you.
Social media double-compression
Instagram, Twitter, and LinkedIn recompress every image you upload. If you upload an already-compressed image, you control the first pass. Upload uncompressed and the platform does it badly.
WordPress and Shopify upload limits
Both platforms have default upload size limits (2 MB for WordPress, varies for Shopify). Compress images before uploading and you'll never hit the limit or need a plugin to raise it.
Archiving photos without filling a drive
A folder of 500 holiday photos at 5 MB each is 2.5 GB. Compress to 80% quality and you're looking at 700 MB–1 GB with no visible difference when viewing on screen.
App and web assets
Every KB in a bundled asset is downloaded by every user. Compress images before adding them to a React app, Flutter project, or static site. It adds up fast.
How compression works here, and which setting to pick
The image is redrawn on a canvas at its original size and saved again with your browser's own JPEG or WebP encoder at the quality you choose, from 10 to 100 and starting at 80. Lower quality throws away more fine detail that the eye is least likely to notice, which is where the size saving comes from. The dimensions don't change, so for very large photos the biggest win is often to resize first.
| Quality | Typical use | What to look for |
|---|---|---|
| 90–100 | Print, photography portfolios | Little visible change; files stay large |
| 75–85 | Websites, blog photos, email | The usual sweet spot; check skies and skin at 100% zoom |
| 60–70 | Thumbnails, previews | Blockiness starts to show around edges |
| Below 50 | Placeholders only | Obvious artefacts and colour banding |
PNG is different. It's lossless, so choosing PNG ignores the quality slider and rarely makes a photo smaller; it can even make it bigger. Use PNG for screenshots and graphics with flat colour, and JPEG or WebP for photos. WebP is usually smaller than JPEG at the same quality and is supported by every current major browser.
Limits worth knowing
- One image at a time, at its original pixel size.
- Re-compressing an already compressed JPEG gives smaller savings each time and can add visible artefacts. Start from the original where you can.
- Metadata such as EXIF date, camera details and GPS location isn't copied to the new file, which is good for privacy and saves a few kilobytes.
- Saving a transparent PNG as JPEG fills the transparent areas; use WebP to keep transparency at a small size.