Resize an Image to a Target File Size
Upload forms with hard limits are the reason this tool exists. "Photo must be under 200 KB", "logo max 500 KB" — instead of guessing at quality sliders, type the number. It binary-searches encoder quality to land as close under your target as it can, and only scales the image down if quality alone can't get there.
Drop images here
Multiple files allowed
How it searches
For WebP and JPG it runs a nine-step binary search over the encoder's quality parameter between 5% and 97%, keeping the largest result that still fits under your target — you want to be just under the limit, not miles under it, because every byte you leave on the table is quality you threw away for nothing. The output row reports the quality it settled on and the final size.
If even quality 5 overshoots, and you've left scaling enabled, the whole search repeats at 85% of the dimensions, up to ten times. That order matters: dropping resolution loses detail permanently, while quality reduction on a large image often looks better than a small image at high quality. Turn scaling off when the dimensions are fixed by whatever you're uploading to, and accept that a very small target may then be unreachable — the row says so plainly rather than pretending.
Format choice does most of the work
WebP typically reaches a given size at visibly better quality than JPG, and it keeps transparency. Every current browser supports it; some older desktop software still doesn't. JPG is the safe answer for a government form or a legacy CMS, and transparency gets flattened onto white. PNG has no quality dial at all, so the search can only scale it down — if you picked PNG and got a much smaller image than you expected, that's why. For a photo under 200 KB, pick WebP or JPG.
FAQ
Why is the result a bit under my target rather than exactly on it?
Encoders don't expose a "make it exactly N bytes" control — size is an outcome of quality and content. The search gets as close as nine steps allow while staying under, which is the side of the line that matters for an upload limit.
It says "could not reach target".
The floor quality still overshot and scaling was off, or ten scaling rounds weren't enough. Enable scaling, raise the target, or switch to WebP.
Is KB here 1000 or 1024 bytes?
1024 — the binary kibibyte, matching what your operating system reports. If a form defines its limit in decimal kilobytes, set the target slightly lower to be safe.
Can I keep transparency?
With WebP or PNG, yes. JPG has no alpha channel, so transparent areas are flattened onto white.