Skip to content

Compress an image to under 500 KB

Compress high-resolution photos to under 500 KB with almost no visible loss.

How it works

500 KB is the sweet spot for web use: a 2000 px JPG at 80% quality is typically 350 to 500 KB and is indistinguishable from the original on a normal screen. Property listings, event submissions, content management systems and many "upload your photo" forms use this cap.

Because the target is generous, this tool almost never has to reduce dimensions; it just finds the right quality level. If the source is a 12-megapixel phone photo the result keeps the full 4000 px width unless quality would have to drop below 40%.

What the 500 KB compressor did to real files

Measured on 2026-09-22 with this page's own compressor in Chrome. The test files were an A4 page of printed text scanned at 300 dpi (2480 × 3508 px, 2.0 MB JPG), a 12-megapixel photo-like image (4032 × 3024 px, 2.1 MB; a sample photograph enlarged with camera-like noise added) and a 1200 × 1406 px portrait photo (328 KB). JPEG quality is estimated from each output file's quantisation tables.

At 500 KB nothing was resized: both large files kept every pixel, and the compressor lowered JPEG quality to the mid-40s instead. At full resolution that shows as slight blockiness in smooth areas when you zoom in; at normal viewing size it does not show.

The portrait was already under the target, so the tool did not re-encode it: re-encoding a JPG that already fits can only make it larger or softer. You get the original back, with its location and camera metadata removed if that option is on, and the result card says so.

Test fileResultPixel sizeJPEG quality
A4 text page, 300 dpi491 KB2480 × 3508 (unchanged)about 43
12 MP photo500 KB4032 × 3024 (unchanged)about 45
Portrait, 1200 × 1406328 KB (the original, returned unchanged)1200 × 1406 (unchanged)about 90 (not re-encoded)

Where you meet 500 KB limits, and a minimum to watch

A 500 KB cap is typical of content management systems, listing sites and "attach a photo" forms that want full-screen quality without camera-sized files. Some official photo specifications also set a minimum. Canada's permanent resident card photo must be a JPEG between 420 KB and 4 MB and 715 × 1000 to 2000 × 2800 pixels (IRCC); a photo compressed to 500 KB normally lands between those limits, but a small original can end up below 420 KB, so read the size on the result card.

Sources: IRCC, PR card photo specifications (checked 2026-09-20)

How to use it

  1. Drop the photo on the upload area or click to browse. JPG, PNG, WebP, HEIC and GIF are accepted.
  2. The target is already set to 500 KB. Adjust it only if your form quotes a different number.
  3. Keep JPG as the output unless the destination explicitly accepts WebP.
  4. Click Compress and wait a second or two; the result card shows the exact output size.
  5. Click Download. The compressed file is saved next to your original, which is not changed.

Frequently asked questions

Will the resolution change?

Only if the image cannot fit at 40% quality, which is rare above 500 KB. The result card shows the final pixel dimensions so you can confirm.

Should I choose WebP?

If the destination accepts it, WebP gives noticeably better quality at 500 KB than JPG. Most CMS platforms and browsers accept WebP; many application forms do not, so JPG is the default.

Does the result stay under the limit exactly?

Yes. The output is always at or below the number shown, measured in kilobytes of 1024 bytes, which is also how Windows, macOS and most upload forms measure files. The final size is displayed before you download.

Will my photo look bad?

Quality is only reduced as far as needed. The tool starts from 95% quality and searches downwards; dimensions are only reduced if quality alone cannot reach the target. A JPG or WebP that is already under the limit is returned as it is, never re-encoded into a bigger file. Photos for forms are usually viewed small, so even aggressive targets look fine on screen.

Is the image uploaded to a server?

No. Decoding and encoding happen in a Web Worker inside your browser. The site never receives the file.