Compress Image to Exact KB
Choose a target size and get a JPG that lands inside it, never above.
More options
Tap to choose photoChoose an image or drop it here
We'll get it under 50 KB · JPG, PNG, WebP
Photo chuno — file kahin upload nahi hoti.
Files never leave your device. Your files are processed right here in your browser. Nothing is uploaded to any server.
How to use
- Pick a target: 10, 20, 30, 50, 100, 200 or 500 KB, or tap Custom and type your own (with an optional minimum).
- Choose your photo. Big phone photos of 3–8 MB are fine.
- NeoKit runs a binary search on JPEG quality, and shrinks the dimensions only if needed, so the file lands under your limit.
- Download. The badge shows the exact size, e.g. “2.4 MB → 48.6 KB ✓”.
Popular sizes
- Compress image to 20 KB: Signature uploads (IBPS: 10–20 KB, SSC: 10–20 KB)
- Compress image to 50 KB: IBPS PO/Clerk photo (20–50 KB)
- Compress image to 100 KB: IBPS hand-written declaration (50–100 KB)
How “exact KB” compression works
JPEG file size depends on two things: the quality setting and the number of pixels. NeoKit first tries the best quality. If the file is too big, it runs a binary search on quality (between 5% and 98%), using at most about eight attempts. If even 40% quality is still too big, it shrinks the dimensions by the square root of the size ratio and searches again. This keeps the photo as sharp as the limit allows, and the whole process runs in a background thread so your phone stays responsive.
Frequently asked questions
Will the result ever be above my limit?
No. NeoKit only offers a download when the file is at or under the target. For safety it treats 1 KB as 1000 bytes, so the file passes portals that count either 1000 or 1024 bytes per KB.
How do I compress a photo to 20 KB without losing quality?
At 20 KB some quality loss is unavoidable. NeoKit keeps the highest JPEG quality that fits and reduces pixel size only as much as needed. Cropping empty background first helps the most.
Can I compress PNG to KB?
Yes. PNG, WebP and JPG are all accepted. The output is JPG because it is far smaller for photos; transparent areas become white.
Why is my 15 KB result smaller than the 20 KB I asked for?
When the image is simple (e.g. a signature) even top quality is below the target. That still passes a "maximum 20 KB" rule. Add a minimum in Custom if your form also has a lower limit.