# Image Compressor

Compress an image to 100kb, 20kb or any target you pick, or set a quality yourself. Shows the real size before you download. Nothing is uploaded.

Canonical page: https://filetity.com/image-compressor

## Capabilities

- Free: Yes, with no watermark and no page limit.
- Account required: No. There is no account system.
- Processed on device: Yes. The file is read by your browser and never uploaded. There is no server to send it to.
- Formats: JPG, PNG and WebP in. Each file stays in its own format, so a JPG comes back a JPG. One file out, or a ZIP when you compress several.
- Limits: No image count limit. Very large images are bounded by the memory your browser will give a canvas. An image that would grow is returned untouched instead. A target smaller than the picture can physically reach is reported, not silently missed.
- Mobile: Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
- Offline: Yes, after you have used it once. Your browser keeps what the tool needs, so it then works with no network connection.

## Questions

### I was told to resize my photo to 20KB. Is that this tool?

Yes. Two different jobs both get called resizing, and an instruction given in KB always means this one. Making an image fewer PIXELS is resizing, which /image-resizer does. Making the FILE fewer kilobytes is compression, which is this page: pick 20 KB, 50 KB, 100 KB, 200 KB or 500 KB, or type any number, and the picture is squeezed until it fits. Upload limits and government forms are written in KB, so a form asking for 20KB wants this page. If the form states pixel dimensions as well, resize first and compress second, because changing the pixels changes the file size again.

### How do I compress an image to exactly 100kb, or get it under 20kb?

Switch to "To a size", pick the target, and press the button. It cannot be calculated: the same quality setting produces wildly different file sizes on a blue sky and on a crowd scene, so no tool can jump straight to the answer. This one encodes at a quality, measures the real bytes, and narrows in, usually in three or four goes. If quality alone cannot get there it scales the picture down and tells you it did. If even that cannot reach your target it reports the smallest it managed rather than handing back a file that is still too big, which is the failure you only discover when the upload form rejects it.

### How small will my image get?

It depends entirely on the picture, which is why nothing here is estimated. Move the quality slider and the tool re-encodes and shows you the real size. A photograph full of detail compresses far less than a flat screenshot.

### What happens if compressing makes the file bigger?

You get the original back, untouched, and the page says so. This is common with small PNGs and with images that are already compressed. A tool called compress that quietly hands you a larger file has failed at the one thing it is for.

### Does compressing again make it smaller again?

Barely, and it costs quality every time. JPEG throws detail away on each save, so repeatedly compressing the same photo degrades it while the size hardly moves. Compress once, from the best copy you have.

### What quality should I choose?

Around 70 is the usual sweet spot for photos on the web: a large saving that most people cannot see. Go higher if the image is going to be printed or edited further, lower if it is a background or a thumbnail. The size updates as you move, so you can judge it rather than guess.

## Related tools

- [Image Resizer](https://filetity.com/image-resizer): Make images smaller by pixel size, keeping their format and proportions.
- [PNG to WebP](https://filetity.com/png-to-webp): Turn PNG and JPG images into WebP, which usually lands smaller at the same quality.
- [JPG to PNG](https://filetity.com/jpg-to-png): Turn JPG photos into PNG files that will not lose any more detail.
- [Resize Image to KB](https://filetity.com/resize-image-to-kb): Fit a photo or signature inside the pixels a form asks for and under its KB limit.
