Reduce Image Size in KB

Processed entirely on your device — images are never uploaded

Almost every “compress image” need eventually comes down to one specific number: a maximum file size in kilobytes, handed to you by a form, an upload page, or a set of instructions that assume you already know how to hit it. The trouble is that most photo-editing tools don’t let you target a file size directly — they let you pick a quality percentage and tell you afterward what size that happened to produce, which means getting to a specific KB number is a process of repeated guessing and re-exporting.

Two different things people mean by “image size”

Before getting into compression, it’s worth being precise about a distinction that causes a lot of confusion: pixel dimensions (how many pixels wide and tall an image is) and file size (how many kilobytes or megabytes it takes up in storage) are related but not the same thing. A photo can be physically large in pixels but small in file size if it’s heavily compressed, or comparatively small in pixels but still surprisingly large in file size if it’s a complex, busy image saved with very little compression. When a form says “image must be under 100KB,” it means file size — pixel dimensions are usually a separate (sometimes additional) requirement, if the form cares about them at all.

Why “pick a quality, check the result” doesn’t scale

If you’ve used an image editor’s export or “Save for Web” dialog, you’ve seen quality expressed as a percentage, with a preview of the resulting file size shown after the fact. That workflow is fine when you don’t have a strict target — but the moment you need to land at or under a specific number, it turns into trial and error: export at 80%, check the size, too big, try 60%, check again, and so on. Worse, the “right” percentage to hit a given size varies enormously between images — a simple portrait against a plain background might fit your target comfortably at 85% quality, while a detailed, busy photo might need 40% to reach the same size. There’s no universal quality number that reliably hits a specific KB target across different images.

Working backwards from the number you actually need

This is the core idea behind every compress-to-target tool on this site: instead of you guessing a quality setting and checking whether the result happens to be small enough, you specify the size you need, and the tool works backwards — encoding the image at a range of quality settings and homing in, through a handful of attempts, on the highest quality that still lands at or under your target. It’s the same image, processed in a way that answers the question you’re actually asking (“will this fit?”) rather than a related but different one (“what does 75% quality look like?”).

When quality reduction alone isn’t enough

Lossy compression has a practical floor — push the quality setting low enough and an image stops looking like a reasonable approximation of the original and starts looking actively broken: blocky, smeared, with visible squares around edges. If your target size is aggressive enough that quality reduction alone would have to cross that floor, reducing the image’s pixel dimensions becomes the more sensible next step, since a smaller image simply has less data to represent in the first place. Tools across this site handle that escalation automatically once quality reduction bottoms out, rather than producing a technically-smaller-but-unusable result.

Finding the right tool for your specific number

If your limit matches one of the common targets — 20KB, 50KB, 100KB, or 200KB — the dedicated tool for that exact size is the more direct path, preconfigured and ready to go. This page exists for everything else: as a flexible starting point if your number is unusual, if you’re not yet sure what limit you’re working against, or if you just want to understand how target-size compression works before committing to a specific number.

How it works

  1. Figure out the exact KB limit you're working with

    Check the form, upload page, or instructions for the actual number — common ones are 20KB, 50KB, 100KB, and 200KB, but plenty of sites specify their own oddly specific number.

  2. Use the matching compress-to-target tool, or this one as your general entry point

    If your number matches one of the common presets, the dedicated tool for that size works directly. This page is the flexible starting point if you're not sure yet, or your limit doesn't match a common preset.

  3. Let the tool search for the right quality automatically

    Rather than you adjusting a quality slider and re-checking the file size by hand, the tool runs a binary search across quality settings and keeps the best one that still fits your number.

Frequently asked questions

What's actually the difference between 'file size' and 'image size'?

This trips a lot of people up. 'Image size' usually refers to pixel dimensions — how many pixels wide and tall a photo is (e.g. 4032×3024). 'File size' is how many kilobytes or megabytes the actual file takes up on disk, which depends on both the pixel dimensions and how much compression has been applied. A form that says 'image must be under 100KB' is talking about file size, not pixel dimensions — and reducing pixel dimensions is only one of several ways to bring file size down.

How do I know how many KB my current photo is?

On Windows, right-click the file and check Properties; on Mac, right-click and Get Info, or just look at the file size shown in Finder's list view. Camera phone photos are usually reported in MB (megabytes) — remember that 1MB is roughly 1,000KB, so a 3MB photo is about 3,000KB, meaning getting it under a 100KB limit means shrinking it by roughly 97%.

Is there a limit to how small an image can realistically get?

Practically, yes — push compression hard enough and you'll eventually hit a point where further size reduction requires either dimensions so small the image becomes nearly useless, or quality so aggressive the content becomes hard to recognize. For a normal photo, getting under roughly 10-15KB while keeping it recognizable as a specific person or document is genuinely difficult; if a form demands something that extreme, double-check you're reading the limit correctly.

Why not just pick the lowest quality setting to guarantee it fits?

Because that wastes quality unnecessarily on any image that didn't need to go that far. A simple, low-detail photo might comfortably hit your target at quality 80, while picking the lowest setting regardless would produce a noticeably worse result than necessary. Searching for the highest quality that still fits the target, rather than defaulting to the lowest, is the entire reason this tool's binary-search approach exists.

Does the output format matter for hitting a specific KB target?

Significantly. JPG, WebP, and AVIF are all lossy and can trade quality for file size flexibly, making them well-suited to hitting a specific KB number. PNG is lossless and can only shrink by reducing pixel dimensions once basic re-compression is exhausted, which behaves very differently — if your target format is flexible and your content is a real photo (not a screenshot or graphic needing transparency), JPG or WebP will get you to a small target with noticeably better visual quality than PNG can.

Related tools