Compress an image to 500KB

500 KB is generous. In our real examples, a 12-megapixel phone photo stays 1608 px wide and a 20-megapixel camera photo 3345 px, both at 60% quality and sharp on any screen. Ideal for turning multi-megabyte camera files into something easy to share.

Drop an image here

or paste it (Ctrl/⌘ + V)

JPG or PNG

Target size

Your image is processed on this device. It is never uploaded.

Real example: a photo compressed to 500 KB

These are not mock-ups. The photos below were run through this exact tool, and the result is the file you would get. Switch photos to compare an easy case and a hard one.

Slice of cake on a white plate with chocolate sauce, compressed to 500 KB
Original
10.19 MB · 5536 × 3766 px
Result
498.5 KB · 3345 × 2275 px · quality 60%
Saved
95.1%

The tool kept JPG quality at 60% and reduced the pixel dimensions just enough to fit. Below about 60% quality, JPG shows blocky artefacts, so a slightly smaller, clean image is the better trade.

Zoomed in: same area, before and after

Detail of the original photo at full resolution: mint leaf on cocoa powder
Original, 100% (crop)
The same detail cut from the compressed file and enlarged to the same size
500 KB file, same area enlarged ×1.7

Download this exact file (498.5 KB)

Photo: Daria Yakovleva, CC0 1.0, via Wikimedia Commons. Made with this tool in Chromium 156.0.8078.4. Other browsers’ JPG encoders give slightly different results.

Big savings, little visible change

Phone cameras save photos at high quality settings that are far larger than needed for screens. Re-encoding at a slightly lower quality often cuts the file several-fold with differences that are hard to spot.

If your image is already under 500 KB and in the same format, the tool tells you so and lets you download the original untouched.

Very large photos

Images with a long edge above 4096 px can exhaust memory on phones. When we detect one, we suggest limiting the long edge to 4096 px — still more than enough for any screen.

How the target-size compression works

  1. Your browser decodes the image (EXIF orientation is applied, metadata is not carried over).
  2. For JPG output we search for the highest encoder quality between 60% and 95% that fits under your target.
  3. If even 60% quality is too large, we reduce the pixel dimensions just enough to fit at 60%. Below about 60%, JPG shows blocky artefacts, so a slightly smaller, clean image is the better trade. Only for very small targets does quality go lower, never below 30%.
  4. The search stops after a fixed number of attempts or about 20 seconds, so a phone never locks up. If the target was not reached, you get the closest result and an honest warning.

Frequently asked questions

Is my image uploaded to a server?

No. The image is read into your browser’s memory, compressed with the browser’s own canvas encoder, and handed back to you as a download. There is no upload endpoint at all. You can check this yourself in your browser’s developer tools (Network tab) — the privacy page shows how.

My image is already under 500 KB — what happens?

If the format stays the same, nothing is re-encoded: you are told the file already fits and can download the original as is. Re-encoding would only lose quality.

What if the image can’t get under the target?

You’ll see the closest size we managed and a clear message that the target was not reached. We never label a file as “done” when it is over the limit. Larger targets, JPG output or a smaller source image usually solve it.

Why did my PNG get smaller in pixels instead of quality?

PNG is a lossless format, so there is no quality setting to lower. To reach a size limit we reduce pixel dimensions. If you can accept JPG, switch the output format: JPG gets much smaller at the same dimensions, but transparent areas turn white.