Compress Image
Dial the file size down until it fits wherever it has to fit. Every image is re-encoded inside this page, and you see exactly what each file saved before you keep anything.
How to use it
Add your images
Click the box or drop files in. Several at once is fine, and you can mix formats in one batch. Nothing is sent anywhere — the images sit in the tab’s memory until you close it.
Set the quality
Leave it near 80 unless you have a reason not to. To see what the dial actually does, compress the same photo at 90 and at 60 and compare the two numbers: the size gap is usually far bigger than people expect, and the visual gap between 80 and 90 is usually impossible to find.
Cap the pixel size if you need more
Tick the box and give a maximum width and height. This never enlarges anything, so a small image passes straight through. For phone photos it is usually the stronger of the two controls.
Download
One image downloads on its own; several arrive as a single ZIP. The list under the result shows each file’s before and after size, and says so plainly when a file could not be made smaller.
What the quality dial is actually throwing away
Every lossy format works the same way underneath: the encoder discards detail your eye is unlikely to miss, and the quality number decides how aggressively. What goes first is high-frequency detail — fine texture, individual hairs, grain, the crisp edge of small text. What survives longest is smooth areas and large shapes. That is why a landscape holds up at 70 while a screenshot of a spreadsheet already looks dirty at 90.
Two consequences are worth carrying with you. First, the numbers do not transfer between formats: WebP at 80 and JPEG at 80 are not the same amount of damage, and at an equal setting WebP is generally both smaller and cleaner. Do not bring a habit of “always 85” from one to the other without looking at the result. Second, the dial is not linear the way people assume. Going from 100 to 90 often saves 40% or more. Going from 60 to 50 usually saves much less and costs far more in visible artefacts, because by that point the encoder has already discarded everything it could discard cheaply.
What too much compression looks like: blocky stair-stepping along edges against a flat background, banding stripes across gradients like a sky, coloured halos around thin coloured text. If you see those, you went too low for that particular image.
Shrinking pixels and shrinking quality are different tools
These get used interchangeably in conversation and they do very different things, so it pays to be exact. Lowering quality keeps the image the same size on screen and reduces how precisely each pixel is stored. Capping the pixel dimensions throws pixels away outright: halving both width and height leaves a quarter of the pixels, and that is where dramatic savings come from.
The difference decides which one to reach for. If the constraint is “this has to be under 2 MB” and the image will be looked at on a screen, pixels are the safe lever — a 4000-pixel-wide photo is wasted on any display, and cutting it to 1600 usually saves far more than any quality setting could. If the image has to keep its resolution because someone will zoom into it or print it, quality is the only lever you have, and you should stop around 75 rather than pushing lower.
One thing this tool cannot do is make a print file smaller. Print wants roughly 300 pixels per inch, so a full A4 page needs about 3500 pixels across. Compressing a file to slip under an upload limit and then printing it gives you a soft, artefact-ridden print, and nothing at the printing end can put the detail back.
What happens when an image cannot be made smaller
Sometimes there is nothing to win, and the tool says so rather than handing you a bigger file. This happens most often with PNG, and it is worth understanding because the reason is counter-intuitive.
PNG is lossless. There is no quality dial, because there is no lossy step to dial — the pixel data is compressed the way a ZIP file compresses text, and it is either exactly right or broken. When you load a PNG and re-encode it, you are not compressing anything further; you are producing a *different* lossless file, and different can easily mean larger, because the original may have been written by an encoder that chose better filters, or simply by one that had more time.
So when a re-encode comes out no smaller and no pixels were cut, this tool keeps your original file and marks it as such. Returning something bigger than what you handed in, after you clicked a button labelled “compress”, would be worse than doing nothing. If you genuinely need a smaller PNG the honest options are: convert it to WebP, which is typically 25–35% smaller for the same appearance, or reduce the pixel dimensions. And if the PNG is really a photo — a screenshot of a photo, an export from a design tool — converting it to JPG is the real fix, because a lossless format is the wrong container for photographic data.
What is lost besides bytes
Compression is not reversible, and a few side effects are worth knowing before you delete the originals.
- Re-compressing an already-compressed image compounds the damage. Each pass adds artefacts on top of existing artefacts, so a JPEG saved at 70 three times looks markedly worse than one saved at 70 once. Always start from the original.
- Metadata is dropped. That is usually the point: a phone photo carries GPS coordinates, the camera model and a timestamp, and publishing it with those intact tells the internet where you live. The flip side is that the capture date and camera settings are gone too, so keep your own copy if you are archiving.
- Orientation is baked in rather than lost. A photo shot sideways stores “this should be rotated” as metadata; here it is genuinely rotated during decoding, so the result is upright everywhere instead of depending on whether the viewer honours the flag.
- Colour can shift slightly. Browser canvas rendering works in sRGB, so a photo shot in a wide-gamut format such as Display P3 gets converted, and saturated colours can come out a little flatter. If exact colour matters, this is not the right tool.
- Transparency survives, since PNG and WebP both support it and this tool never changes your format. Transparent areas only become a problem when the output cannot store them, which is a job for the format converter.
What savings to actually expect
Claims like “up to 90% smaller” are marketing, because the answer depends entirely on what you brought. Some honest anchors for what these settings typically produce:
- Phone photo at 4000×3000 and 3–5 MB, quality 80, pixels untouched: usually lands between 300 KB and 800 KB.
- The same photo with pixels capped at 1920: usually 100–300 KB, and indistinguishable at any normal viewing size.
- A 1440×900 screenshot: often nothing to gain. Screenshots are flat colour and sharp text, which is the worst case for lossy compression and the best case for PNG.
- Something already optimised by a CMS or an image CDN: expect single-digit percentages, because that pipeline already did this work.
- A scan or a photo of a document: 200–500 KB is plenty, so keep the resolution and lower the quality instead.
Why the per-file readout matters more than a headline number
The list under the result exists precisely because no single ratio applies to every image. Two files from the same camera roll can behave completely differently — one at 4 MB shrinking to 300 KB, another at 800 KB stubbornly refusing to move because whoever exported it already ran it through an optimiser.
That readout is also how you calibrate the dial for your own material. Compress a representative photo at 80 first, look at the number, and decide from there whether to go lower or whether the pixel cap is the control you actually wanted. A tool that promised you a fixed percentage would be lying about half your files, and you would find out after you had already deleted the originals.
Last updated:
Frequently asked questions
Are my images uploaded to compress them?
No. The decoder and the encoder are JavaScript running in the page you already loaded: the images are read from your disk into the tab’s memory and written straight back to your downloads folder. You can check this yourself by opening your browser’s developer tools, switching to the Network tab, and compressing something — nothing leaves the machine.
Does the quality slider apply to PNG files?
No, and it cannot — PNG is lossless, so there is no quality setting to apply. If a PNG comes back unchanged, that is because re-encoding it produced something no smaller than what you gave us.
Does compressing remove EXIF data and GPS location?
Yes, and for a photo you intend to publish that is usually the point: the image is redrawn onto a fresh canvas, which carries no metadata forward. Keep the original file separately if you need the capture date, camera settings or location for your own records.
Why did my file come back with the same name and the same size?
That is the tool telling you it could not do better. Rather than hand you a larger file than you started with, it returns the original unchanged and labels the row “kept original”. Usually it means the image was already well optimised, or that it is a PNG.
Can I compress a batch and get them all at once?
Yes. Add as many as you like and the result is one ZIP, so your browser does not have to fight with several dozen separate download prompts. A single image downloads directly, without the ZIP wrapper.
Is quality 100 the same as no compression?
Not quite. Even at 100 the image is decoded and re-encoded, which means one generation of lossy compression, and an encoder’s “100” is not mathematically lossless. For JPEG, quality 100 frequently produces a file larger than the original. If you want zero loss, keep the original.
Can I use this on a PDF?
Not directly — a PDF has to be rendered to images first. If the goal is a smaller PDF for an email attachment, use the PDF compressor, which re-encodes the pictures inside the document and leaves the text as text.