Image Compressor

Batch-compress JPG, PNG, and WebP images directly in your browser. Drag in as many files as you like, drag the quality slider, and watch the byte count drop — with a live before/after comparison for every image. Nothing is uploaded, so there is no file limit, no queue, and no watermark. Files never leave your device.

🖼️
Drop images here or click to browse
JPG · PNG · WebP — multiple files supported, no size limit
75%

How the compression works — and why it beats uploading to a service

Tip: drag the quality slider after adding images — every card re-compresses instantly and the before/after numbers update in real time. This live comparison is the honest way to compress: you see the exact byte trade-off instead of trusting a generic "best quality" preset.

Most "free" image compressors ask you to upload files to their server, which means your photo lands on someone else's disk, the free tier caps you at 5 MB or 20 images, and you wait in a queue. This tool inverts the model: the browser is the compressor. Your images are decoded by the Canvas API, re-encoded with a quality level you control, and handed back to you as files — all inside this tab. The practical consequences are worth stating explicitly:

No uploadImages are processed as local File objects via the Canvas API and never sent over the network. You can compress sensitive screenshots, design assets under NDA, or client photos without a second thought.
No limitsBecause nothing reaches a server, there is no file-size cap and no image-count quota. Compress 200 screenshots in one batch if you need to.
Honest comparisonEvery card shows original size, compressed size, and the exact percentage saved — recomputed live as you move the quality slider. You never compress blind.
TransparencyJPG and WebP use lossy compression at your chosen quality; PNG stays lossless (which is why PNGs shrink only when you switch output to WebP). The recommended path for screenshots and illustrations is WebP output.
Batch workflowDrop a folder of assets, set quality once, download the whole batch as individually named files with a single click.

What quality setting should you use?

The conventional default is 75%, and for good reason — at 75% most photographic images look identical to the original to the human eye while dropping 60-85% of their file size. If you are compressing for a blog, email newsletter, or portfolio, start at 75% and only go lower (60-70%) if the file still feels heavy. If you are prepping a hero image for a retina display, keep 80-85% to preserve fine gradients. Screenshots with flat UI colors compress exceptionally well in WebP — often 90%+ smaller — because solid-color regions are cheap to encode. The live preview exists precisely so you can make this trade-off with your eyes, not a formula.

Frequently asked questions

For format choices, quality defaults, and how this tool compares to upload-based services like TinyPNG, see the structured FAQ at the top of this page — or the short version: WebP output for screenshots and illustrations, JPG at 75% for photos, and never upload anything when the browser can do it locally.

Related tools: Favicon Generator · Base64 Image Encoder · HTML to JSX · Markdown Preview · Character Counter · More Developer Tools