Batch image compression that never uploads your files

tinyimg shrinks JPEG, PNG, WebP, AVIF and JPEG XL images — up to 50 at a time — entirely inside your browser. The encoders are WebAssembly builds of mozjpeg, oxipng, libwebp, libavif and libjxl, so nothing is sent to a server, no account is needed, and the tool keeps working offline. MotionPhoto is also supported as an input: only the still image is compressed, the embedded video passes through byte for byte without re-encoding, and the output stays a MotionPhoto.

Where your image goesOn the left, with tinyimg, the image goes from your device to your browser and is compressed there; there is no server in the path. On the right, a typical uploader sends the image to someone else's server first.Your imageYour browserCompressed fileYour imageSomeone else's serverCompressed filetinyimgTypical uploaderNothing leaves your device.The file is uploaded.no serverWhere your image goesOn the left, with tinyimg, the image goes from your device to your browser and is compressed there; there is no server in the path. On the right, a typical uploader sends the image to someone else's server first.Your imageYour browserCompressed fileYour imageSomeone else's serverCompressed filetinyimgTypical uploaderNothing leaves your device.The file is uploaded.no server
tinyimg compresses in your browser; a typical uploader needs a server.

Common uses: clearing out a folder of screenshots before archiving, preparing product photos for a site, and getting images under an upload limit without visible quality loss.

Up to 50 images per batch on desktop and 20 on phones, 20 MB per image. More about tinyimg.