Frequently Asked Questions

Everything people usually ask before trusting a browser-side image compressor with their files.

Are my images uploaded to a server?

No. Every step runs inside your browser using WebAssembly compiled from the same codecs used by native tools. Decoding, resizing and re-encoding all happen in a local Web Worker. There is no upload endpoint, and you can prove it: load the page, disconnect from the internet, then compress an image. It still works.

Which formats are supported?

As input: JPEG, PNG, WebP, AVIF and JXL. As output you can produce JPEG, PNG, WebP, AVIF or JXL from any supported input. In automatic mode the tool re-encodes into the same format it read; switch on the custom selector to convert between formats in one pass.

How does MotionPhoto work?

MotionPhoto is supported as an input format — a JPEG still with a video appended. Only the still image is compressed; the video inside is copied through unchanged, byte for byte, not re-encoded. The output stays a MotionPhoto: it is not flattened to a plain JPEG.

How many images, and how large?

Up to 50 images at a time (20 on phones), each up to 20 MB. Larger batches work best when you send them in groups, since everything competes for the same CPU cores.

Does compression reduce quality?

It depends on the format. JPEG, WebP and AVIF are lossy — they discard detail you are unlikely to notice, which is what buys the file size reduction. PNG output is lossless: it re-encodes the same pixels more cleverly, so the picture is bit-for-bit what you supplied. If a file is already well optimised, the result can even come out slightly larger — in that case just keep the original.

Which format should I use?

Short version: JPEG for photos where reach matters most, WebP for a safe modern default, AVIF when you want the smallest file and can accept slower encoding, PNG for screenshots, diagrams, logos and anything with transparency or sharp text, and JXL when you want an archival-grade format and control the software that opens it. The format guide walks through the trade-offs properly.

Can I compress many images in one go?

Yes — drop up to 30 files at once, and download them individually or as a single ZIP. This is the usual workflow for clearing down a folder of screenshots or preparing a product photo set for a site.

Why is my compressed file bigger than the original?

Because it was already optimised, or because the content is unusually noisy. Lossy re-encoding has a floor. If the output is not smaller, use the original file — nothing is broken, and the tool never overwrites your source.

Does it work offline?

Yes, once the page has loaded. All the compression codecs are downloaded to your browser on first visit and run locally from then on. This is also the simplest way to verify the privacy claim for yourself.

Is it free? Is there an account?

It is free and there are no accounts, no sign-up and no usage caps beyond the per-batch limits. The site is supported by advertising; see the privacy policy for exactly what that involves.

What data do you collect?

We record anonymous, aggregate statistics about compression — the source format, the target format and the input/output byte sizes — so we can tell which formats people actually use. This never includes your images, filenames or anything identifying, and it is only sent after you accept the cookie banner. Your images are never transmitted at all.

What happens to EXIF and other metadata?

Re-encoding rebuilds the image from its pixels, so EXIF, GPS and camera metadata are not carried over to the compressed output. That is usually desirable for the web, but if you need to preserve EXIF, keep the original file.

Can I use the compressed images commercially?

Yes. Your images remain entirely yours — the tool makes no claim over them, and since nothing is uploaded we could not use them even if we wanted to.

Is there a Figma plugin?

Yes — tinyimg is also a Figma Community plugin, so you can compress selected layers without leaving your design file. It works the same way: everything runs locally, and the plugin requests no network access at all.

← Back to tinyimg

en · zh-CN · ja · ko · es · fr · ru · ar