Skip to main content

Image Compressor

Shrink image file size with a JPEG or WebP quality slider — 100% in-browser.

Written by Golam Rabbani, Founder & Lead Engineer

Compression happens in your browser; nothing is uploaded.

How to use this image compressor

  1. Pick an image file from your device — JPG, PNG, or WebP all work.
  2. Choose an output format: JPEG for photos or WebP for smaller files at the same visual quality.
  3. Drag the quality slider to balance file size against visual fidelity (80 is a good default).
  4. Press "Compress" to encode the result and compare the before / after byte counts.
  5. Download the compressed file or adjust the slider and re-run if you need to go smaller.

About this image compressor

An image compressor reduces a picture's file size by re-encoding it at a lower quality level using a lossy codec. This tool reads your chosen file with the browser's built-in createImageBitmap API, draws it onto an off-screen canvas, then calls canvas.toBlob with your chosen MIME type — either image/jpeg or image/webp — and a quality value between 0.10 and 1.00 derived from the quality slider. The browser's native encoder does all the heavy lifting, which means results are comparable to what a desktop image editor would produce.

Everything stays on your device throughout the process. No file is uploaded, no server round-trip occurs, and nothing is logged. That makes it practical for compressing receipts, ID scans, screenshots with sensitive text, or any other private image you would rather not send to a third-party service.

To put the numbers in context, consider a 4 MB smartphone JPEG. Re-encoded as WebP at quality 80, the same image typically lands around 350 KB — roughly a ten-fold reduction that is virtually invisible at normal viewing distances. Switching to JPEG at quality 70 produces a file closer to 500 KB but offers broader compatibility with older email clients and content-management systems. The before/after byte counts displayed in the result panel make it straightforward to dial in the smallest file size your use case will accept.

One practical note: if your source image has a transparent background, choose WebP as the output format. JPEG has no alpha-channel support and will fill transparent areas with white.

FAQ

Are my images uploaded anywhere during compression?
No, processing is entirely local in your browser. The compressor uses the same canvas encoding APIs Chrome and Safari expose for offline use — your image never touches a server.
What quality level should I pick?
For photographs, 75-85 is the sweet spot for visible-quality vs. file size. Below 60 you may see banding in skies or compression artifacts around fine text. Above 90 the file grows quickly with little perceptual gain.
Why does the WebP output not always beat JPEG?
WebP is usually 25-35% smaller at the same visual quality, but tiny images with sharp edges (logos, icons) can encode similarly in both. Try both formats and keep the smaller result.
Does compressing twice degrade the image more?
Yes. Lossy codecs accumulate artifacts on each re-encode. Always compress from the original source, not from an already-compressed copy.
Can I compress a PNG without losing transparency?
Use WebP as the output format — it supports an alpha channel and is far smaller than PNG for most photos. JPEG cannot store transparency.