JPG
Classic .jpg extension, tuned quality search. Best for photographic content and the smallest files overall.
AI image-to-image compressor
Drop up to 9,999 images, let the analyser read each one, and pull them back down as JPG, JPEG, PNG, APNG or GIF. Enter an exact target size or let it decide. Sizes in and out are detected automatically, files are never re-saved at their original weight, and every result is verified so nothing comes back corrupted.
9,999
images per batch
9999 PB
size ceiling
5
output formats
0
uploads · 0 accounts
Drop · detect · shrink · download
Up to 9,999 files per batch · total ceiling 9999 PB · every byte stays inside your browser
Images queued
0
max 9,999
Detected upload size
0 B
auto-detected on drop
Detected output size
0 B
0 compressed
Total saved
0 B
0.0% lighter
The queue is empty
Nothing is preloaded — your images only
Output formats
Classic .jpg extension, tuned quality search. Best for photographic content and the smallest files overall.
Identical encoder, .jpeg extension for pipelines and CMSs that insist on the long form.
Alpha preserved. Palette quantisation shrinks flat art, screenshots and logos far below a plain re-save.
Animated PNG in, animated PNG out — every frame and delay is kept, with 32-bit transparency intact.
Full frame-by-frame re-encode with per-frame palettes, transparency and the original loop timing.
Deliberately removed. No browser can decode or encode JPEG-XR / WDP, so it is not offered as an output — and any .wdp you drop is flagged and cleared with the Delete WDP button instead of being turned into a broken file.
The engine
Type, pixel dimensions and exact upload size are read the moment a file lands — nothing to configure, nothing to guess.
Colour spread, edge energy, transparency and frame count are sampled to classify each image as photo, flat graphic, transparent art or animation, then the codec and strength are chosen for it.
Ask for 44.80 MB — or any size — and quality is binary-searched, with resolution stepping down only when the target still cannot be met. The resulting size is detected and reported back.
Output must be smaller than the source or the original bytes are handed back untouched, and every encode is decoded again before it is accepted — so a compressed file is never corrupted.