Compress an image to 20 KB
20 KB target and JPG output already set. Built for signature boxes, logos and black-and-white scans, and it says plainly when 20 KB can't be reached.
Your images
Settings
Generated images
- Nothing uploaded
- Free, no sign-up
- Strips EXIF
- Batch files
The upload box reads "Signature: JPG, 20 KB max" and the photo of your signature is 2.4 MB. That field lives on exam registration portals, state licensing boards, HR onboarding systems and e-filing forms written when 20 KB was a reasonable ceiling, and none of them raised it since. A phone camera produces files 100 to 250 times that size, so "compress it a little" is not an option.
This page runs the search for you. With JPG selected and 20,480 bytes as the ceiling, it first tries JPEG quality alone at the original pixel size; only if the lowest quality still overshoots does it start scaling the image down in 15% steps. Each result card prints the real size, in KB to a decimal, and one of two badges, target met or smallest possible, so you know before you upload.
Be realistic about what 20 KB holds. A black-ink signature cropped to the pen strokes fits with room to spare, and so does a logo or a black-and-white scanned form. A color photo of a face fits only after it has gone soft and blotchy; a landscape does not survive at all. If the field is for a photo, reread the limit: 50 KB or 100 KB is far more likely.
How it works
Three steps, with the 20 KB ceiling already applied when the page opens.
Drop in the signature or scan
Drag the file onto the page, pick it from your device, or paste a screenshot with Ctrl+V. A phone photo of the signed page (an iPhone HEIC included), a scanner JPG or a PNG drawn on a tablet all load, and the browser decodes them right where they are.
Check JPG, leave the slider alone
The settings panel opens with JPG highlighted on the format bar and the 20,480-byte target applied. The quality slider still sits there at 82, but nothing on this page reads it: the target search feeds the encoder its own values. Switch to PNG only if the portal rejects JPG.
Click Generate, read the badge, download
Click Generate images. Each card prints old size → new size in KB with a decimal, a width × height tag only if the strokes had to shrink, an EXIF stripped tag, and target met or smallest possible. Open Compare to check that thin strokes survived, then save the file, or the whole queue as one .zip.
What 20 KB can hold
JPEG spends bytes where neighboring pixels differ. Black ink on white paper barely differs, so a 600 × 200 px signature crop encodes to 6–10 KB at quality 85. A face is gradients everywhere: at 20,480 bytes a 400 × 500 px headshot lands near quality 30, where skin turns into 8 × 8 blocks.
| Image | Under 20 KB as JPG? |
|---|---|
| Signature cropped to the ink | Yes, 5–10 KB |
| Simple logo, stamp, icon | Yes |
| Black-and-white scanned form | Usually; small print softens |
| Color headshot, tight crop | Yes, but visibly blocky |
| Full document page, color photo | Only after shrinking to ~20% width |
| Photo with hair, foliage or fabric | Rarely |
Why a clean signature never reaches stage two
Stage one is a search on JPEG quality with the pixels frozen. The first encode goes out near quality 50; if the file clears 20,480 bytes the next try is higher, if not it is lower, and the gap halves each round, twelve rounds at most between 5 and 96. Whatever highest quality fit is what you download. A black-ink crop of 600 × 200 px fits even near the top of that range, so it comes back at full sharpness, with the width × height it went in with and no dimension tag on the card.
Stage two is for whatever failed at quality 5: a color photo of a face, a page shot with a shadow across it, a scan whose paper grain reads as detail. Now the page trades pixels instead. Each pass multiplies width and height by 0.85, draws the smaller image with smooth interpolation onto a white canvas and encodes it at a fixed quality of 72; the first pass under the ceiling wins and the card adds a width × height tag. Ten passes is the cap, which is 0.85 to the tenth power, or 19.7% of the starting width: a 3,000 px page cannot go below roughly 590 px here.
Thin pen strokes are the first casualty of stage two, which is why the next section is about keeping the search in stage one. And if all ten passes miss, the page does not pretend: you get the tenth file, its size printed on the card, under a smallest possible badge.
Fix the scan before you compress it
Stage two is where signatures turn ragged, so make stage one succeed: black ink, plain white paper, shot straight down in even light, then clean the file.
- Crop to the ink. Blank paper around the signature costs bytes and carries nothing; Crop image does it in seconds.
- Go grayscale. A yellow or gray cast is color data the JPEG must store; the Black and white tool drops it in one click, typically 20–40% off the file. Paper grain survives grayscale, so fix that with a bright, flat shot.
- No shadow, no flash: a phone shadow across the page is a gradient JPEG has to pay for.
- Keep it 400–800 px wide; wider buys detail no screen shows, narrower breaks thin strokes.
- If PNG is accepted, try it: a two-color signature can beat JPG with crisper edges. PNG has no quality dial, so the page skips stage one and shrinks pixels only if needed.
Rejected under 20 KB? Size was not the problem
Portals that cap a signature at 20 KB usually fix the pixel dimensions too, often 140 × 60, 250 × 60 or 300 × 80, and some demand a .jpg extension or a filename without spaces. This page shrinks by percentage and cannot land on an exact width, so set exact dimensions on Resize image first.
- Exact pixel size required: Resize image, then this page.
- Photo field, not a signature box: the 50 KB or 100 KB page; a face survives those.
- A whole signed document: send a PDF from JPG to PDF, not a loose image.
Frequently asked questions
Can this page get any image under 20 KB?
No, and it will tell you. After the lowest JPEG quality fails it shrinks the image up to ten times, to roughly 20% of its width. Fine texture like hair, foliage or fabric can still overshoot; the card then reads smallest possible and you get that file rather than a fake success.
How bad does a photo look at 20 KB?
Bad enough to matter. A 400 × 500 px headshot lands near JPEG quality 30: blocky skin, smeared hair, halos around edges. If the portal accepts more, use the 50 KB or 100 KB page. If it truly demands 20 KB for a face, crop to the head and convert to grayscale first so no bytes go to color.
Why is my scanned signature still over 20 KB?
Because of what surrounds the ink: paper grain, a yellow cast, a shadow and wide margins. Crop to the strokes and convert to black and white; a clean 600 px crop typically encodes to 5–10 KB in stage one, before any downscaling.
The card added a width × height tag and the strokes look thinner. What happened?
It means not even quality 5 got the file under 20,480 bytes at its original size, so the page shrank the dimensions 15% per pass until one fit. For a signature the weight is almost never in the ink; it is in a gray or yellow background, a shadow, or a wide margin of paper, so crop to the strokes on Crop image and generate again. This page only ever shrinks, so a downscaled result cannot be brought back up to a portal's 300 × 80 frame.
Will the card read 20 KB exactly, or less?
At or under 20,480 bytes, which the card prints as 20.0 KB. A clean ink crop fits at the top of the quality range and lands well under the line; only when the search has to work, on a grainy scan or a color photo, do results settle at 19.6–20.0 KB. That top band is what a portal counting 20 KB as 20,000 bytes may refuse, so crop closer to the ink and generate again if it bounces.
PNG or JPG for a signature under 20 KB?
JPG for anything photographed. PNG only for a clean two- or three-color signature, where it can come out smaller than JPG with sharper edges; PNG has no quality setting, so if it does not fit the page goes straight to shrinking pixels. Most portals specify JPG anyway.
Is my signature uploaded anywhere during the 20 KB search?
No. Decoding, the quality search, the downscaling and the final JPEG encode all run in your browser on your own device. The output also has its EXIF block removed, so no capture time, phone model or GPS rides along to the portal.
My scanner's black-and-white PNG is 6 KB. Why is the JPG bigger?
Because a 1-bit scan is almost free to store as PNG: every pixel is ink or paper, and runs of white pack down to nearly nothing. JPEG has no such mode; it writes three channels and spends bytes ringing around every hard edge, so a 6 KB scan can come back at 12–18 KB, the highest quality the search found under 20,480 bytes. Both sizes pass a 20 KB rule; if the portal accepts PNG, send the original.