File size and pixel dimensions are two different levers. Resizing changes how many pixels an image has, while compressing changes how efficiently those same pixels are stored. This image compressor leaves the dimensions untouched and works purely on the encoding, which is exactly what you want when a page is slow to load but the picture already looks the right size on screen.
The whole process happens on your device. The file is decoded by the browser, re encoded by a canvas element at your chosen quality, and handed back to you as a download, so nothing is transmitted anywhere and there is no queue behind a shared server to wait for.
Why images need compressing
Images are usually the single heaviest part of a web page or an email attachment. A camera photo straight off a phone commonly weighs 3 to 8 megabytes, and a page that loads several of those uncompressed will feel slow even on a fast connection, because the browser has to download every byte before it can paint the picture.
Compression exploits the fact that the human eye is much less sensitive to fine colour and brightness variation than image formats naively assume. A good compressor throws away exactly the detail nobody would notice and keeps the detail that matters, which is why a well compressed photo can look identical to the original while taking a fraction of the space.
- Compress a photo before it goes on a website, since page weight directly affects load time and search ranking.
- Compress before attaching an image to an email with a size limit.
- Compress screenshots before pasting them into documentation or a support ticket.
- Skip compression and use a resizer instead when the file is already small but the pixel dimensions are too large.
- Combine both: resize first to the display size, then compress, for the smallest possible result.
Reading the quality slider correctly
The quality setting controls how aggressively the encoder discards detail, and it is not a straight line. Above roughly 92 the file size grows quickly while the visible improvement flattens out to almost nothing. Below about 60 the eight by eight pixel blocks that JPEG style encoding works in start to become visible as soft blotches, especially around text and sharp edges.
For almost all web and document use, a quality setting between 75 and 85 is the sweet spot: the loss stays below what a casual viewer notices while the file keeps shrinking. Push higher for images that will be viewed large or zoomed into, and drop lower only when you are fighting a hard size limit and the image will be displayed small.
This tool reports the projected file size before you commit, so the most reliable method is to watch the number as you move the slider and stop where the size stops falling in a meaningful way rather than guessing a number in advance.
Lossy and lossless compression, and what happens to transparency
Lossy compression, the kind this tool performs when it re encodes as JPG, discards some original data permanently in exchange for a much smaller file. Lossless compression, which applies when the output stays PNG, rearranges the data more efficiently without discarding anything, which produces a smaller reduction but preserves every pixel exactly.
JPEG has no alpha channel, so if your source image has transparency, compressing it to JPG requires filling those transparent areas with a solid colour first. If preserving transparency matters, keep the output as PNG or WebP, both of which can be compressed while keeping an alpha channel intact.
How this image compressor works under the hood
The tool decodes your file with the browser's native image decoder, draws the pixels onto an HTML canvas, and calls the canvas toBlob method with your chosen quality factor to produce a re encoded file. That is the same primitive every image editor on the web relies on, just wired up to a slider you control directly.
Because compression happens locally, there is no upload request to intercept and no server side retention policy to trust. You can verify this yourself by opening your browser's network panel while compressing an image and watching for any request that carries the file, there will not be one. It also means there is no daily cap and no queue, since the only limit is your own device's available memory.
Compressing several images at once
For a single file, this image compressor shows you the before and after size immediately so you can fine tune the quality by eye. If you need to reduce image file size across a whole batch of photos with one setting applied to every file, the bulk image resizer handles many files sequentially and reports the saving for each one individually.
Sequential processing, rather than compressing every file at once, actually finishes faster in practice, because it avoids the memory pressure and garbage collection pauses that come from decoding several large images simultaneously.
| Quality | Approx. size reduction | Visible loss |
|---|---|---|
| 95 to 100 | 10 to 25 percent | None |
| 80 to 90 | 50 to 75 percent | None at normal viewing size |
| 60 to 75 | 70 to 85 percent | Slight, visible when zoomed |
| Below 50 | 85 to 95 percent | Visible blotching around edges |
How to compress an image
- 1
Add your image
Drag a JPG, PNG or WebP file onto the drop area, or click it to choose a file. It stays on your device.
- 2
Drag the quality slider
Watch the projected file size update as you move it. 75 to 85 suits almost all web and document use.
- 3
Compare before and after
Check the stat panel for the original size, the new size and the percentage saved before committing.
- 4
Compress and download
Press compress, then download the result once you are happy with the balance of size and quality.
Related tools worth bookmarking
Sources and further reading
- MDN: HTMLCanvasElement.toBlobThe browser API this compressor uses to re encode an image, including how the quality argument is interpreted.developer.mozilla.org
- web.dev: Compress imagesGoogle engineering guidance on lossy versus lossless compression trade offs for web performance.web.dev
- Google Developers: Optimize imagesRecommended quality ranges and formats for balancing image file size against visual quality.developers.google.com
Frequently asked questions
Common questions about the image compressor.
It depends on the source image and the quality you choose, but a photograph compressed from an uncompressed or lightly compressed original typically shrinks by 50 to 90 percent at a quality setting between 75 and 85, with no difference visible at normal viewing size.
Yes. There is no account, no daily limit and no watermark. The tool runs entirely in your browser, so there is no server cost per compression that would justify a paid tier, which is also why it can handle as many images as you like in one session, unlike most services that let you compress image online only up to a low monthly cap.
No. Compression happens locally using the canvas element built into your browser. The file is never transmitted to a server, never stored remotely and never seen by anyone else, which you can confirm by watching the network panel in your browser's developer tools during a compression.
No. Compression only changes how efficiently the existing pixels are stored, not how many pixels there are. If you also need smaller dimensions, use the image resizer first and then compress, which produces the smallest possible file.
Choosing PNG output keeps every pixel exactly as it was, since PNG compression is lossless, but PNG files stay considerably larger than a well tuned JPG. For photographic content a high quality JPG setting around 90 to 92 comes very close to lossless while still cutting the file size substantially.
JPEG cannot store transparency, so transparent pixels are filled with a solid colour before encoding. If your image needs to keep transparency, choose PNG or WebP as the output format instead, both of which support an alpha channel alongside compression.