Compress an Image to 100 KB

Need a picture that passes a 100 KB upload check on the first try? This page does one job: you drop in your image, and a precision binary search finds the highest quality that still lands at or below 100 KB. No slider guesswork, no re-uploading the same file five times hoping it gets small enough. One hundred kilobytes is the most common cap on the web — forum avatars, school application portals, government forms and marketplace listings all use it — so this is the page most people need most of the time. Everything runs inside your browser, and your picture never leaves your device.

Drop images here, click to browse, or paste from clipboard (Ctrl+V)

JPEG, PNG or WebP · up to 30 MB per file · up to 5 images at a time · processed locally

Why so many sites cap uploads at 100 KB

A hundred kilobytes sounds tiny next to modern phone photos, but for the sites that enforce it, the limit makes sense. Profile pictures and avatars are displayed at 200 by 200 pixels or smaller, so a 100 KB file already contains far more detail than any viewer will ever see. Community platforms store millions of avatars, and keeping each one lean saves enormous amounts of storage and bandwidth over time. Application portals and government forms impose the same cap because they must accept uploads from people on slow connections and older computers, and a small ceiling guarantees the form submits quickly for everyone.

The frustrating part has always been getting under the line without destroying the picture. Most people open a photo editor, drag the quality slider to some random middle value, export, check the file size, and repeat three or four times. That loop is exactly what this tool removes: you state the number, the search runs, and the result arrives at or just under your limit with as much quality preserved as the maths allows.

How the exact-size search works

Behind the scenes the compressor encodes your image, weighs the result, and adjusts the quality parameter in a binary search — roughly seven refinement steps that usually finish in a couple of seconds per picture. If the first attempt at 80% quality is too heavy, the ceiling drops; if a lighter attempt fits, the floor rises and the search climbs back toward the best value that stays legal. Because it is a search rather than a fixed setting, two very different images — a flat screenshot and a busy landscape — both end up as close to 100 KB as possible without spilling over, each at its own quality level.

The result card shows the original size, the final size and the exact percentage saved, so you can verify the fit before downloading. If an image physically cannot fit even at minimum quality — rare at 100 KB, but possible for huge panoramic photos — the tool says so plainly and suggests WebP output or a smaller resolution instead of quietly handing you an oversized file that the upload form will reject anyway.

Getting the best-looking 100 KB result

Two habits make a visible difference. First, crop before you compress: an avatar only needs the face or the subject, and cutting away background pixels means every remaining byte is spent where it matters. Second, mind the resolution. Around 1000 pixels on the long side is generous for a 100 KB avatar or form photo; a 4000-pixel original spends its byte budget on detail nobody will display.

Format choice helps too. JPEG is the safe default for photographs and is accepted by every form you will meet. WebP reaches the same size with noticeably better sharpness and is supported by all current browsers — ideal when the site accepts it. And because the whole process runs locally through WebAssembly, you can compress a batch of five pictures in one pass and collect them individually or as a single ZIP archive.

Frequently asked questions

Will the file be exactly 100 KB, or just under it?

Just under, by design. Lossy encoders cannot hit an arbitrary byte count to the exact byte, so the search stops at the highest quality whose output is at or below 100 KB — typically landing within a few kilobytes of the line, like 97 KB or 99 KB. Upload forms accept anything under the cap, and every result card shows the precise final size so you can confirm the fit before downloading.

What resolution should my image be before compressing to 100 KB?

For avatars and form photos, 1000 pixels on the long side is more than enough; for ID or document scans where text must stay legible, 1200 to 1500 pixels works well at this size. Very large originals are not a problem — the tool simply spends more of its quality budget on downscaling detail — but cropping to the subject first almost always yields a sharper final picture than compressing a full-frame photo at the same byte count.

Should I pick JPEG or WebP for a 100 KB limit?

JPEG is the safest choice because every upload form on the internet accepts it, and at 100 KB a photograph still looks clean. WebP encodes the same image smaller, which means either a visibly sharper result at the same size or headroom to keep more resolution. If the form explicitly lists WebP among accepted types, use it; when in doubt, stay with JPEG for maximum compatibility.

Why did my second image end up lower quality than the first, at the same 100 KB?

Because quality is negotiated per image. A noisy low-light photo, a picture full of fine foliage, or a scan with paper texture carries far more information per pixel than a smooth studio portrait, so the search has to trade more quality away to fit inside the same budget. The file size is the constant; the quality is the variable. Cleaning up noise in an editor first, or cropping tighter, usually closes the gap.

What happens if an image cannot fit under 100 KB at all?

You get a clear failure message for that file instead of a silently bloated output. This is rare at the 100 KB level but can happen with extremely large panoramas or already-compressed files that expand on re-encode. The message suggests switching to WebP, which compresses far more efficiently, or reducing the resolution — and you can re-run that single file without touching the rest of your batch.