Image Compressor To 50kb Jpg
πŸ”’ 100% in your browser No upload Β· no sign-up Β· no watermark

Compress a photo to a JPEG under 50 KB

Drop a JPG, PNG, WebP or GIF and download a file that fits a 50 KB upload limit β€” or type any target size you need. Everything happens on your device, so a 5 MP photo is done in about a second.

Fits visa & job forms Custom target: 5–2000 KB Batch-free, one photo at a time
Quick targets
5–2000 KB. 50 KB keeps most forms happy.
Original size shows up here.
Only used when the source has transparent pixels.

Before / after

Waiting for a photo

Your compressed JPEG shows up here with the exact file size before you download it.

Drop a photo to see the before and after sizes.

Saves as photo-50kb.jpg

How it hits 50 KB

No upload, no queue, no watermark β€” the whole pipeline runs on your own device.

Step 1

Drop a photo

JPG, PNG, WebP or GIF up to 25 MB. The file is decoded locally with the browser's image decoder β€” it is never sent anywhere.

Step 2

Binary-search the quality

The long edge is capped at your max-edge value, then the JPEG quality is searched between 0.30 and 0.95 until the encoded blob is at or under your target β€” the highest quality that still fits wins.

Step 3

Download the JPEG

The download button only unlocks when the measured blob size is at or below the target. Open the file any time and check its size in your file manager.

Built for form upload limits

Honest numbers, not guesses

Sizes are read from the real encoded blob (blob.size) before you download β€” the status line shows the exact quality and byte count used.

Transparency handled

JPEG has no alpha channel, so transparent PNGs are flattened onto white or black β€” your choice β€” and the status line tells you it happened.

Graceful when the target is tight

If 0.30 quality still misses, the tool automatically retries once at 70% of your max edge, then suggests a concrete pixel width instead of handing you a file that fails the upload.

Phone-friendly canvas

The photo is drawn straight into a canvas at the target dimensions and the decoded bitmap is released right after, which keeps iOS Safari from crashing on 12 MP photos.

Zero network requests

After the page loads there is no server call at all β€” no API route, no analytics on your image, nothing to leave your device.

Readable on any screen

The before/after card collapses to a single column on a 375px phone and splits on desktop, with 44px tap targets throughout.

FAQ

Is my photo uploaded anywhere?

No. The page uses your browser's own canvas encoder, so the file stays on your device. You can even turn off Wi-Fi after the page loads and it still works.

Why is my result slightly smaller than 50 KB?

The tool picks the highest JPEG quality that still fits the target, and JPEG sizes move in steps β€” so a finished 47–50 KB file is normal. Raise the target if you need a little more detail.

It says it could not reach the target. Now what?

Lower the max long edge (1200 px or 900 px often does it), pick a slightly larger target, or crop the photo so less detail has to be squeezed into the same bytes.

Can I compress a HEIC photo from my iPhone?

Not directly β€” browsers can't decode HEIC. In iOS Photos, tap Share β†’ Copy Photo (or export as JPG) to get a JPEG, then drop that here.

What happens to animated GIFs?

Only the first frame is compressed, because the output is a still JPEG. The status line notes when that happened.

Is the JPEG good enough for a passport or visa form?

This tool controls file size, not the pixel or DPI rules some forms require. Set the max long edge to the size the form asks for (for example 600 px or 1200 px) as well as the KB target.

Latest updates