Compress JPEG Images

The quality setting starts at 75, which is the range where most of the size comes off before artifacts become visible.

Options

All processing runs in your browser. No file leaves this device.

JPEG quality is not a percentage of anything meaningful — it is a scaling factor on the quantisation tables that decide how much high-frequency detail gets thrown away. The relationship between that number and the resulting file size is steeply non-linear. Going from 100 to 90 typically removes more than half the bytes while being essentially invisible. Going from 90 to 80 removes another large chunk with only slight softening. Below about 60, blocking artifacts appear around edges and in smooth gradients like skies, and no further setting will hide them.

That is why the default here is 75 rather than something more aggressive. If you need a specific target size, work down from 85 rather than up from 40 — the visual cost of the last few percent of size reduction is disproportionate.

A caveat worth stating plainly: recompressing an already-compressed JPEG cannot recover anything, and it does add a second generation of loss. If the file has been through several editors already, each save has degraded it further. Compress from the highest-quality version you have, not from something already squeezed.

Content matters more than most people expect. Photographs with noise, foliage, or fine texture resist compression — the encoder cannot tell noise from detail. Smooth studio shots and flat graphics compress enormously. If a batch comes out with wildly different reductions, that is why.

Common questions

What quality setting should I use?
For photographs going on the web, 75 to 85 is the usual sweet spot. For images that will be printed or edited further, stay at 90 or above. Below 60 the artifacts become visible on most content regardless of what you are doing with it.
Is there a file size limit?
No. Because nothing is uploaded, there is no upload form imposing a cap — the only limit is what your browser can hold in memory. This is a real difference from server-based compressors, which usually cap free use somewhere around 5 or 10 MB per file.
Does compressing again make it worse?
Yes. Each JPEG encode discards information permanently, and re-encoding an already-compressed file adds a further generation of loss without recovering anything. Always compress from the best version you have.
Are my images uploaded?
No. Every step runs inside this page — decoding, the pixel maths, and encoding. Nothing is transmitted and no server receives your files. You can watch the Network tab in devtools while a batch runs, or simply go offline after the page has loaded.

This converter is part of a full editing pipeline — tone, colour, lens correction and batch export all run the same way, without uploading.

Open the full pipeline