20KB is a small target. It is the usual limit for scanned signatures and small ID photos on exam and government portals, and it is out of reach for a full-resolution camera photo unless you reduce the dimensions first.
20KB is roughly 20,000 bytes of encoded pixel data. A 200x230 ID photo has about 46,000 pixels and reaches it comfortably. A 4000x3000 phone photo has 12 million pixels, which at 20KB works out to under 0.02 bytes per pixel — no encoder delivers that at any usable quality. We will still return the smallest file we can produce and mark the target as missed, but for a large photo the honest answer is to reduce the dimensions first.
This page is different on purpose: at 20KB our first recommendation is to resize, not to compress harder. Bring the image down to the dimensions the form actually asks for — often 200x230 or 300x300 — then come back and set 20KB.
Resize the image firstNo technical knowledge needed. Free, fast, and available on any device.
We go the extra mile on every detail to deliver the best compression experience.
The 20KB ceiling is almost entirely a form-upload convention. Exam registration portals and government services set separate limits for the photograph and the signature, and the signature limit is routinely the tighter of the two: 10KB to 20KB, often with fixed dimensions attached. Those portals were built for slow connections and small storage budgets, and the limits have never been relaxed.
This is why 20KB is worth its own page rather than being one number among many. The advice at 20KB is genuinely different from the advice at 100KB: at 100KB you compress, at 20KB you usually resize first and compress second. A tool that tells you to just try harder is wasting your time.
We do not resize your image and we do not convert it to a different format. The target is reached by binary-searching the encoder quality: we encode, measure, adjust and encode again until the result lands just under your number. Because this runs server-side with the real encoders (pngquant, cwebp, gifsicle, libjpeg) rather than a browser canvas, it keeps searching further down than an in-browser tool can before giving up. Target mode is available for JPG, PNG, WebP, GIF, HEIC, JXL, JP2 and JXR; other formats fall back to standard quality-based compression.