Image Compressor — Exact File Size

Compress JPEG, PNG and WebP images to an exact size in KB — free, no sign-up, and your images never leave your device.

Drop an image here or browse your files — JPEG, PNG or WebP. It never leaves your device.

Compress to a target size, not just “a bit smaller”

Most image compressors hand you a quality slider and leave you to guess what “72” means in kilobytes. ImgSquash works the other way round: you say “I need this under 100KB” and it finds the settings that get you there. Under the hood it binary-searches the encoder quality, and if the file is still too big it steps the dimensions down and tries again — usually converging in a handful of re-encodes, each taking a few milliseconds.

That target-size mode exists because the real world hands out size limits, not quality sliders: visa photo uploads capped at 240KB, job-application portals that reject anything over 500KB, forum avatars limited to 50KB. See compress to KB for the common upload limits and how to hit them.

Private by design

Every step — decoding your file, drawing it on a canvas, re-encoding it — runs in JavaScript inside this tab. There is no upload queue, no server-side processing, no account. Your images never touch our infrastructure; the only network traffic is you fetching this page. Details are in the privacy policy.

Getting the most out of it

  • Hitting a hard limit? Use target-size mode with JPEG output — it’s the combination that reaches tiny sizes. PNG has no quality setting at all, so the tool can only shrink its dimensions.
  • Batch of photos? The bulk compressor queues a whole folder’s worth and lets you download each result.
  • Just resizing? Switch the mode to Resize only and set a percentage or a max width — a 50% scale alone often cuts file size by ~75%, since pixel count scales quadratically.
  • Picking a format is half the battle; JPEG vs PNG vs WebP explains which fits photos, screenshots and transparency.

Frequently asked questions

How do I compress an image to exactly 100KB?

Drop the image in, leave the mode on Compress to a target size, type 100 in the KB box and wait a second. ImgSquash binary-searches the quality setting and, if needed, gently shrinks the dimensions until the file is at or under your target. For hard limits like 100KB, pick JPEG output — a noisy PNG often can't get that small without becoming tiny in pixels.

Why can't my PNG get down to 100KB?

PNG is a lossless format — it keeps every pixel exactly, so there's no quality dial to turn. The only way to shrink a PNG is to shrink its dimensions. If a form demands a tiny file, convert to JPEG (photos) or WebP instead: those formats throw away detail your eyes barely notice and routinely reach 5–10× smaller sizes.

Are my images uploaded to a server?

No. The compressor is plain JavaScript running in your browser tab — decoding, resizing and re-encoding all happen on your device. You can load this page, switch your Wi-Fi off, and keep compressing. Nothing is sent, stored or logged.

Does compressing change my image's dimensions?

Only if it has to. In quality mode the dimensions are kept exactly. In target-size mode, ImgSquash first tries to hit your KB limit with quality alone; if even the lowest quality is too big, it reduces dimensions in steps and tells you the new size in the result row.

Which output format should I pick?

Same as input is the safe default. Pick JPEG for photos and strict size limits, WebP for the smallest files where modern-browser support is fine, and keep PNG only when you need transparency or pixel-exact graphics. See the format guide for the full trade-offs.

Latest articles