Squeeze a photo under 50KB without uploading it anywhere.
Drop an image in and the page encodes it as AVIF, stepping quality down and then resolution until the file fits inside 50KB, the same budget a Doxlore comment attachment gets. All of it happens on your own machine.
- Targets a size, not a setting
- Nothing uploaded
- Usually one or two seconds
Drop one or more images here, or click to browse
The ladder it climbs down.
Compression here is a search, not a setting: each rung is tried, measured against the 50KB budget, and abandoned for the next only if the file is still too big.
- 01AVIF, quality 80The first attempt. Most ordinary photographs already fit here.
- 02Quality 65, 50, 35Each step re-encodes and re-measures; the first result under 50KB wins.
- 03Quality 20The floor. Below this the picture stops looking like the picture.
- 04Scale down, retryStill too big: the image shrinks proportionally and the encode runs again.
- 05Stop at 320pxThe smallest either side is allowed to get, whatever the file size says.
It negotiates, rather than guessing.
1. The image is decoded in the page
Your file is turned into raw pixels in the tab, with no upload step. Everything from here is arithmetic on your own processor.
2. A first AVIF pass at quality 80
AVIF is the format precisely because it holds a photograph together at sizes where JPEG falls apart. If the first pass already fits under 50KB, that is the file you get.
3. Quality steps down until it fits
If it is still too big, quality drops in steps of 15 and re-encodes, down to a floor of 20. The tool would rather stop than hand you mush.
4. Then, if it must, resolution follows
Still oversized at the quality floor, it scales the image down proportionally and tries again, never going below 320 pixels on either side. The result tells you the quality it settled on.
Compression without an upload.
Every step here (decoding, encoding, resizing, measuring) runs inside your browser on your own hardware. Your photo is never transmitted, which means there is no server-side copy to expire, leak, or be retained under someone else’s policy.
Because the AVIF is written from decoded pixels rather than copied from the original container, all metadata is dropped on the way through. A compressed file carries no camera model, no timestamps, and no GPS coordinates.
Nothing persists between runs. There is no queue, no history, and no account. The page holds only what is on screen, one image or a batch, and forgets it when you close the tab.
- Price
- Free, unlimited, and account-free
- Batch
- Drop several images at once to compress them together and download the set as one zip
- Target size
- 50KB, the limit a Doxlore comment image has to fit
- Input formats
- JPEG, PNG, WebP, AVIF, GIF, BMP, and SVG. Vectors are rasterized on the way in
- Output
- AVIF at the highest quality that fits the budget
- Download formats
- AVIF by default; the same result also writes out as WebP, JPEG, or PNG
- Quality range
- Starts at 80, steps down by 15, stops at 20
- Resize floor
- Never smaller than 320 pixels on either side
- Metadata
- Dropped, because the file is rebuilt from pixels
What compresses well, and what fights back.
Photographs are the easy case
Soft gradients, skin, foliage, and out-of-focus backgrounds all compress beautifully. A normal photo usually clears 50KB with quality to spare.
Screenshots and text do not
Hard edges and small lettering are exactly what lossy compression struggles with, so text goes fuzzy long before the file gets small. Convert those to PNG instead.
Crop before you compress
Fewer pixels to describe means more bits for the ones that matter. Cropping to the part you actually care about beats letting the tool shrink the whole frame.
Start from the best original you have
Compressing an image that has already been through a lossy round trip compounds the damage. The camera original always gives a better 50KB than a re-saved copy does.
Everything else.
Is it free?
Yes, entirely. No account, no watermark, no per-day cap. The work happens on your machine, so there is nothing for us to bill.
Do you upload my photo?
No. Decoding, encoding, and resizing all happen inside the page. Nothing is transmitted, so nothing can be stored on a server anywhere.
Why 50KB in particular?
It is the size a comment image has to fit into on Doxlore, so the tool aims at the same budget the site itself enforces. It is a strict target on purpose: anything that clears it will load instantly on any connection.
Why AVIF and not JPEG?
At the sizes this tool aims for, JPEG has visibly fallen apart while AVIF still looks like a photograph, so the compression itself is always AVIF. If you need to hand the file to something that cannot open one, the download row writes the same result out as WebP, JPEG, or PNG: larger, but readable anywhere.
Will my image get resized?
Only if quality alone cannot get it under the limit. The tool exhausts the quality ladder first, then scales down proportionally, and never below 320 pixels on the shorter path. The result panel reports what it settled on.
Does it strip EXIF and GPS data?
Yes, as a side effect of rebuilding the file from raw pixels. Nothing from the original metadata block survives.
Can I set my own target size?
Not on this page. It exists to hit the 50KB comment budget reliably. For a specific format at a fixed quality, use the converter instead.
Can I compress a batch?
Yes. Drop several files and the page shows them as a list, compresses each to the same 50KB AVIF target, and lets you download them one by one or as a single zip. Nothing is uploaded for a batch either.
Why did a small image get bigger?
An image already compressed hard, or one dominated by flat colour, can encode larger as AVIF than it was before. That is a sign the original was already efficient, so keep it.