Image Optimizer
A fast, parallel CLI tool for optimizing images (JPEG, PNG, WebP) written in Rust.
Features
- Multiple formats: Supports JPEG, PNG, and WebP optimization
- High-quality compression: Uses mozjpeg, oxipng with zopfli, and WebP encoders
- Parallel processing: Optimizes multiple images concurrently for speed
- Flexible output: In-place optimization or separate output directory
- Image resizing: Optional resizing with
--max-sizeparameter - Backup support: Create backup files before optimization
- Quality control: Adjustable quality (1-100) or lossless compression
- Progress tracking: Real-time progress bar with file-by-file status
Installation
From crates.io (Recommended)
Quick Install (Linux/macOS)
|
This script will:
- Detect your platform and architecture
- Download prebuilt binaries (if available) or build from source
- Install to
~/.local/binand configure your PATH
Manual Installation
System Dependencies
This tool requires system libraries for JPEG optimization:
Ubuntu/Debian:
macOS:
Fedora/RHEL:
Build from Source
Usage
# Basic usage - optimize images in place
# Optimize to output directory with custom quality
# Create backups and use lossless compression
# Resize images to max 1920px on longer edge
# Update to the latest version
Options
-i, --input <PATH>- Input directory to scan for images-o, --output <PATH>- Output directory (optional, defaults to in-place)--backup- Create backup files (.bak extension)--lossless- Use lossless compression-q, --quality <1-100>- JPEG quality (default: 85, ignored if lossless)-r, --recursive- Recursively scan subdirectories--max-size <PIXELS>- Maximum size for longer edge (resizes if larger)--update- Update to the latest version from GitHub releases
Supported Formats
- JPEG (.jpg, .jpeg) - Optimized with mozjpeg
- PNG (.png) - Optimized with oxipng and zopfli compression
- WebP (.webp) - Optimized with WebP encoder
Performance
The tool uses parallel processing to optimize multiple images simultaneously, making it efficient for batch operations on large image collections.