Built for real batches
Compression runs away from the React main thread with bounded worker concurrency, keeping controls responsive during a batch.
Compress JPEG, PNG, WebP and static AVIF images locally in your browser with Smart, quality or target-size controls.

JPEG, PNG, WebP or static AVIF. Add one file or a whole batch.
Use Smart mode for a careful default, or open the settings rail when you need a particular quality, output format, dimension or byte limit.
Compression runs away from the React main thread with bounded worker concurrency, keeping controls responsive during a batch.
Results report original and output bytes, dimensions, format and metadata state instead of hiding the tradeoff behind one score.
Local image bytes, filenames, previews and EXIF/GPS data stay on your device. Metadata removal is enabled by default.
Choose one image or a batch. The browser validates the file signature and prepares a local preview.
Keep Smart mode or adjust format, quality, resize, target-size, naming and metadata controls.
Dedicated browser workers process the queue. Download individual results or package successful files into a ZIP.
No. Files selected from your device are decoded, compressed and packaged in your browser. URL modes use the network only to fetch the remote resource you request.
Smart mode chooses conservative format-aware settings. You can switch to manual quality, a target size, exact or maximum dimensions, and another output format before processing.
JPEG/JPG, PNG, WebP and static AVIF are supported. Animated GIF, WebP and AVIF optimization is intentionally not supported.