Free Image Compressor

Shrink an image's file size by re-encoding it at a quality you choose. See exactly how much you saved, then download β€” all in your browser.

Choose an image

Drop an image here, paste from clipboard, or browse

JPG, PNG, WebP… Β· processed in your browser, never uploaded

Runs entirely in your browser β€” your image is never uploaded to a server.

Quick answer

To compress an image, lower its quality setting or convert it to a more efficient format like WebP, which re-encodes the picture with less data. This tool does that in your browser: pick a quality (lower = smaller file), optionally cap the dimensions, and it shows the new size and percentage saved before you download. Nothing is uploaded.

Formula & method

The tool draws your image onto an HTML canvas and re-encodes it with the browser's image encoder at the quality you choose. Lossy formats β€” JPG and WebP β€” discard visual detail your eye barely notices to reach a smaller file; WebP is typically 25–35% smaller than JPG at the same quality. Optionally it scales the image down first, which reduces size further.

Examples

Example 1: Photo for email
Input
4.2 MB JPG at 80% quality
Result
β‰ˆ 1.1 MB
Why
Re-encoding a phone photo at 80% quality typically cuts 60–80% of the size with no visible difference on screen.
Example 2: Switch to WebP
Input
900 KB JPG β†’ WebP at 75%
Result
β‰ˆ 380 KB
Why
WebP packs the same image into a noticeably smaller file, ideal for web pages.
Example 3: Cap dimensions too
Input
6000Γ—4000 photo, max 1920px, 75%
Result
much smaller file
Why
Scaling a huge photo down to 1920px before compressing is the biggest single saving for web use.

When to use this tool

  • Making a photo small enough to email or upload within a size limit.
  • Speeding up a web page by shrinking large images.
  • Reducing a marketplace or social photo without installing an app.

Common mistakes

  • Compressing a PNG as PNG and expecting a smaller file β€” PNG is lossless, so use JPG or WebP for photos to actually shrink them.
  • Setting quality too low (below ~50%) on photos, which creates visible blocky artifacts.
  • Re-compressing an already-compressed image repeatedly, which degrades quality each time with little extra saving.

Frequently asked questions

Are my images uploaded anywhere?

No. The compression happens entirely in your browser using the HTML canvas. Your image never leaves your device, so it is safe to use with personal photos.

What is the difference between JPG and WebP here?

Both are lossy formats that shrink photos. WebP is newer and usually 25–35% smaller than JPG at the same visual quality, and it is supported by all modern browsers.

Why didn't my PNG get smaller?

PNG is a lossless format, so re-saving it as PNG barely changes the size. For photos, choose JPG or WebP, which are designed to compress.

What quality should I use?

75–85% is a good default for photos β€” small files with no obvious quality loss. Go lower only for thumbnails, and keep 90%+ when quality matters more than size.

Does compressing reduce the image dimensions?

Not unless you set a maximum width/height. Compression mainly lowers quality; capping the dimensions is an extra, often bigger, saving for web use.

Will it keep my PNG's transparency?

JPG does not support transparency, so transparent areas become solid. To keep transparency and still shrink the file, choose WebP.

Sources & references

External references open in a new tab. We are independent and not affiliated with these organizations.

  • βœ“ Free to use
  • βœ“ No sign-up required
  • βœ“ Runs entirely in your browser β€” nothing is uploaded.
  • βœ“ Formula and method shown above

Provided β€œas is” for general information only β€” results may be inaccurate, so verify before you rely on them. No warranty; use at your own risk.

Built and reviewed by HIFreeTools against the formula shown above and any authoritative references cited on this page. See our methodology and editorial standards.

Related tools

Related guides

Embed this tool on your site

Free to embed, no sign-up. Paste this code where you want the image compressor to appear: