Compress image to 30 KB

Set the budget, and the encoder is searched for the best quality that fits under 30 KB. On your device — the image is never uploaded.

  • 0 uploads
  • No limits
  • No signup
  • Works offline

Where a 30 KB limit comes from

Nobody chooses 30 KB for fun. If you are here, a form told you to, and the form probably did not explain how. These are the places this particular number turns up:

  • Exam registration photo fields that specify a 20–50 KB window
  • Bank KYC document uploads
  • Membership card photos

Thirty kilobytes holds a 400×500 portrait comfortably. This is usually enough that nobody looking at the printed result would complain.

What 30 KB actually buys you

Thirty kilobytes usually appears as the top of a stated window — 20 to 50 KB is the common phrasing — rather than as a hard ceiling on its own. When a form gives you a range, aim near the top of it. A file at the bottom of the window is not safer; it is just worse-looking, and the range exists because the system wants a usable image.

A 400×500 portrait fits comfortably here, which is enough that a printed membership card or a KYC record looks like a photograph rather than a compromise. This is the first budget on the list where you can stop making trade-offs and simply set the number.

A comfortable middle ground for ID photos. The search here spends the budget on dimensions before quality — a larger image at quality 55 beats a smaller one at 95, because the eye forgives artefacts more readily than missing resolution.

Getting a better result

Three things reliably help when the budget is tight:

  • Crop before compressing. Every pixel you keep costs bytes. A tightly framed portrait at 30 KB looks far better than a full-body shot squeezed into the same space. The cropper hands its result straight to this tool.
  • Start from the highest-quality original you have. Compressing an image that has already been through WhatsApp compounds the damage. Go back to the file straight off the camera.
  • Prefer WebP if the form allows it. At the same file size WebP holds noticeably more detail than JPEG. Most official forms still want JPG, but it costs nothing to check.

Other common targets

10 KB · 20 KB · 50 KB · 100 KB · 150 KB · 200 KB · 300 KB · 500 KB

How it works

  1. 01Add your imageDrop it on the page, click to browse, or paste from the clipboard.
  2. 02The 30 KB target is already setYou landed on this page, so the budget is filled in. Change it if you need something different.
  3. 03The search runsThe encoder is run repeatedly, binary-searching quality for the best result that still fits under 30 KB.
  4. 04Compare, then downloadDrag the before/after slider to see what the compression cost before you commit.

Questions people actually ask

The form says 20-50 KB. Should I aim for 20 or 50?
Fifty, or just under. A minimum in a stated range is there to reject images so small they are unreadable, not to reward you for going low. Set the target near the upper bound and you get the best-looking file the system will accept.
Will my photo still look acceptable at 30 KB?
Thirty kilobytes holds a 400×500 portrait comfortably. This is usually enough that nobody looking at the printed result would complain. A comfortable middle ground for ID photos.
Is the result exactly 30 KB?
It lands within about 5% below 30 KB, and never above it. Going over would defeat the point — a form that says "maximum 30 KB" rejects a file of 31 KB without explanation.
Is my image uploaded to reach 30 KB?
No. Every encode in the search runs on your own device, in a background thread, using WebAssembly builds of MozJPEG and libwebp.