Compress image to a target size
Pick the max file size the form asks for and get the best quality that fits. Everything happens on your device.
Last reviewed: October 9, 2026Runs in your browser. Nothing you enter or open is uploaded.
The short answer
Choose your images, pick a target such as 100 KB, and the tool tries quality levels until it finds the highest one under that size. You see the size before and after, then download each file or a ZIP. If lowering quality is not enough, it scales the image down slightly. Works with JPG, PNG and WebP.
How it is calculated
The target is counted in bytes: 100 KB = 100,000 bytes. We use 1,000 rather than 1,024 on purpose, so the file passes whichever way an upload form counts.
Quality is found by binary search: try 95%, and if that is too big try 5%, then the midpoint, seven times over. That lands within about 1% of the best quality under the limit, usually in under a second per photo.
If even the lowest quality is still too big, width and height shrink by the square root of the overshoot and the search runs again, since file size tracks pixel count.
Worked example
Press "Try a sample photo" and the tool draws a 1600 × 1200 px landscape weighing 742 KB:
- Target 100 KB, JPG: the result is 96 KB at 55% quality, 87% smaller, same dimensions.
- Target 50 KB: 48 KB at 35% quality.
- Each file has its own Download button; "Download all" bundles them in a ZIP.
742 KB down to 96 KB without resizing.
Quick reference table
| Limit on the form | Bytes we stay under | Shown in Windows as about |
|---|---|---|
| 50 KB | 50,000 | 49 KB |
| 100 KB | 100,000 | 98 KB |
| 200 KB | 200,000 | 195 KB |
| 500 KB | 500,000 | 488 KB |
| 1 MB | 1,000,000 | 977 KB |
Special cases and common mistakes
- Why does my 100 KB file show as 98 KB? Windows counts 1 KB as 1,024 bytes; we stay under 100,000 bytes so the file passes any checker. The gap is on purpose.
- PNG screenshots barely shrink with a quality slider because PNG has no quality setting. Export them as JPG here and they often drop to a tenth of the size.
- Location data is removed. The output carries no GPS position, phone model or timestamp, because the image is redrawn from scratch. Handy before posting a photo taken at home.
- iPhone HEIC photos will not open in Chrome on Windows. On the iPhone, set Settings › Camera › Formats to "Most Compatible" and new photos save as JPG.
- Compressing is not resizing. If a form asks for exact pixels, such as 600 × 600, use the Resize image tool first, then compress here.
Frequently asked questions
How do I compress a JPEG to 100KB?
Choose the photo, leave the mode on "Target file size", pick 100 KB and press Download. The tool finds the highest quality that stays under 100 KB.
Will my photo look worse?
Slightly, and usually not noticeably on a phone screen. A typical phone photo looks fine at 200 KB. If you see blocky edges around text, raise the target.
Are my images uploaded?
No. Compression runs in your browser. Turn off Wi-Fi after the page loads and it keeps working.
Can I compress several images at once?
Yes. Select or drop them all; they are compressed with the same setting, and you can download them one by one or as a ZIP.
Should I pick JPG or WebP?
WebP is usually smaller at the same quality, but some school, job and government forms only accept JPG. When in doubt, use JPG.
Why did my image get smaller in pixels?
The target was too small for that many pixels, so lowering quality alone could not reach it. The new dimensions are shown under the file.
Sources
- MDN: HTMLCanvasElement.toBlob() (quality from 0 to 1 for JPEG and WebP) (Last reviewed: October 9, 2026)
- MDN: Image file type and format guide (JPEG has no transparency) (Last reviewed: October 9, 2026)