Why Use It?
- 100% local: images never leave your device — safe for private photos and unreleased designs.
- No limits: no max file size, no daily quota, no watermark, no account.
- Batch mode — drop many images at once, each gets its own download.
- Quality slider + max-width resize + JPG/WebP output — the three settings that actually matter.
- Shows exact savings per image so you can judge the trade-off.
Frequently Asked Questions
Will compression make my images look bad?
At 70–85% quality, differences are practically invisible for photos viewed on screen. Visible artifacts appear below ~50%. Text-heavy screenshots are the exception — they show artifacts sooner in JPG; try WebP output or keep quality above 85% for those.
Is there a file size or count limit?
No. Because compression runs on your device instead of a server, there's nothing to limit — compress a 50 MB image or 100 images in a batch. Very large images just take a moment longer.
Are my images uploaded anywhere?
No. Files are read and re-encoded entirely by your browser using the HTML5 canvas API. You can load this page, go offline, and keep compressing.
Should I choose JPG or WebP output?
WebP is typically 25–35% smaller at the same visual quality and works in all modern browsers — best for websites. JPG opens everywhere including old software and printers — best for sharing and email. When in doubt, JPG.
Why did my PNG get so much smaller?
PNG is lossless, which is expensive for photos — a photographic PNG is often 5–10× larger than a visually identical JPG. Converting photo PNGs to JPG/WebP gives the biggest savings of all. Keep PNG only for graphics that need transparency or razor-sharp edges.
Why is the output sometimes larger than the original?
If the image was already heavily compressed, re-encoding can't help and may add bytes. The tool tells you when this happens — just keep the original in that case.
What Is This Tool?
An image compressor reduces file size by re-encoding the image with more efficient (lossy) settings. A photo from a phone camera is often 3–8 MB; for a website, chat message or email, 200–500 KB usually looks identical on screen. Smaller images upload faster, load faster and save storage and bandwidth.
This tool re-encodes images with the browser's own codec at your chosen quality, optionally scaling very large images down to a sensible maximum width — the two levers that matter most for file size. Compression strength vs. visible quality is always a trade-off; the live before/after sizes let you find the sweet spot per image.
Format comparison: JPG vs WebP vs PNG for size
Same photo, same visual quality, three very different sizes: PNG is the heavyweight (lossless — often 5–10× the JPG size for photos), JPG is the universal middle ground, WebP typically lands 25–35% below JPG. So the compression hierarchy for a photo is: convert away from PNG first, then choose JPG for compatibility or WebP for minimum size.
Graphics flip the table: for screenshots, logos and flat-color UI images, a palette-quantized PNG usually beats JPG in both size and sharpness — JPG's photographic compression smears sharp edges. That case has its own tool below.
Performance notes
- Resize before you compress-harder: cutting dimensions from 4000px to 1920px removes ~77% of pixels — no quality slider can compete with that.
- Batch processing runs sequentially on your CPU; a hundred phone photos take a couple of minutes on a laptop. Nothing is queued on a server, so it's still usually faster than upload-based sites — and it works offline.
- The −% number is your feedback loop: if it shows single digits, the image was already optimized and further quality reduction will hurt looks before it helps size.
- For web publishing, aim at ≤200 KB for content images and ≤500 KB for full-width heroes; those budgets keep Core Web Vitals comfortable on mobile connections.
From our own testing
Before shipping this tool we ran it against generated test images and checked the output pixel by pixel, not just by eye. A 3000×2000 multi-color PNG went from 140 KB to 94 KB (−33%) at 75% quality with the 1920px cap — and because the test image was synthetic, we could verify no pixel drifted more than the JPG codec's expected tolerance. We also confirmed the already-optimized-file warning triggers correctly instead of silently producing a larger file: feed it a tightly compressed JPG and it tells you to keep the original rather than pretending it helped.
How to Use
- Drop images onto the box (or click to choose) — JPG, PNG and WebP are supported.
- Set the quality: 75% is a good balance; drop to 60% for maximum savings.
- Choose a max width — 1920px is plenty for full-screen web use.
- Pick JPG (universal) or WebP (smaller, all modern browsers) output.
- Click Download next to each result. The size and percentage saved are shown per file.
Example
- Input
phone-photo.jpg — 4.20 MB, 4032×3024- Output
phone-photo-compressed.jpg — 0.48 MB (−89%), 1920×1440
Resizing to 1920px and re-encoding at 75% quality: visually identical on any screen, 9× smaller.