How to Compress an Image to 20KB or Under
Guide · Exact file-size targets
Most compression advice stops at 50KB or 100KB. But exam portals, government forms and job applications regularly demand a photo or signature of 20KB or less — and at that size, the usual advice breaks. Getting under 20KB is less about squeezing harder and more about starting smaller. Here is the method that works.
Why 20KB is a different problem
A file-size limit is really a pixel budget. A 20KB JPEG holds roughly 20,000 bytes of image data. Spread over a small passport-style photo of 350 × 450 pixels (157,500 pixels), that is a tight but workable budget. Spread over a phone photo of 3000 × 4000 pixels (12 million pixels), it is impossible without turning the picture into soup. This is why compressing a full-size photo directly to 20KB always disappoints: the compressor is forced to destroy detail to meet the number. Shrink the dimensions first, and the same 20KB suddenly looks respectable.
Step 1: Resize to the size the form actually shows
Form photos are displayed small — typically somewhere between 200 and 400 pixels wide on screen. Resize your photo to about 350 × 450 pixels for a portrait photo, or proportionally for your requirement, before compressing anything. If the form states exact pixel dimensions, use exactly those. Our Image Resizer sets width and height precisely and keeps the aspect ratio locked. For a signature scan, go smaller still — most signature boxes display around 300 × 100 to 400 × 150 pixels, and line art compresses beautifully at those sizes.
Step 2: Save as JPG and walk the quality down
At these sizes, format is destiny: use JPG. PNG cannot reach 20KB for a photograph — it stores every pixel exactly, so even a small photo usually lands several times over the limit. Starting from your resized image, use the Compress Image tool and begin at 60% quality — or let the fixed-target Compress Image to 20KB tool walk the quality down for you automatically. Check the resulting size, then step down in small moves — 55%, 50%, 45% — until the file slips under 20KB. A 350 × 450 portrait typically gets there between 45% and 60%. A signature, being mostly white space and a few dark strokes, usually lands under 20KB even at 80%.
What quality loss to expect — honestly
At 20KB, a portrait photo will be softer than the original when viewed large. But forms do not view it large: it will be shown in a small box on a screen or printed on an admit card at a few centimetres wide, where the result looks perfectly clear. What you must protect is legibility of the essentials — a recognisable face, readable signature strokes. If the face has gone blocky, you resized too far or dropped quality below about 40%; back up one step and trade a little size elsewhere.
When it still will not fit
- Busy backgrounds. Grass, crowds and patterned walls cost bytes. Crop tighter around the face so the budget is spent on what matters.
- Grainy or dark photos. Noise is detail the compressor must store. A brighter, cleaner original compresses noticeably smaller at the same quality.
- Coloured signatures. If the form accepts it, a signature converted to greyscale or pure black and white can shrink to a third of the colour version.
- The limit says KB but means something else. A few portals display limits loosely. If a clean 21KB file is rejected while the notice said "about 20KB", the real limit is exact — aim for 19KB to be safe rather than landing exactly on the line.
Step 3: Verify the final file before uploading
Check two things on the file you will actually submit: its size in KB (file properties on a computer, or the details view in your phone's gallery or files app) and how it looks opened at full size. If the portal also set pixel dimensions, confirm those too. Our guide to reducing a photo to 50KB or 100KB for online forms covers the full checklist for form uploads, and the fixed-target tools handle the limits automatically — including Compress Image to 20KB, which runs this page's resize-and-quality search for you until the file fits, alongside the larger 50KB preset.