Crates.io | image-optimizer |
lib.rs | image-optimizer |
version | 1.5.0 |
created_at | 2025-08-31 15:40:54.52549+00 |
updated_at | 2025-09-13 18:35:00.030401+00 |
description | CLI tool for optimizing images (JPEG, PNG, WebP, SVG) |
homepage | https://github.com/nixuuu/image-optimizer |
repository | https://github.com/nixuuu/image-optimizer |
max_upload_size | |
id | 1818654 |
size | 169,723 |
A fast, parallel CLI tool for optimizing images (JPEG, PNG, WebP, SVG) written in Rust.
--max-size
parameter (applies to raster formats only)cargo install image-optimizer
curl -sSL https://raw.githubusercontent.com/nixuuu/image-optimizer/refs/heads/master/install.sh | bash
This script will:
~/.local/bin
and configure your PATHThis tool requires system libraries for JPEG optimization:
Ubuntu/Debian:
sudo apt-get install libjpeg-dev
macOS:
brew install mozjpeg
Fedora/RHEL:
sudo dnf install libjpeg-turbo-devel
git clone https://github.com/nixuuu/image-optimizer.git
cd image-optimizer
cargo build --release
# Basic usage - optimize images in place
image-optimizer -i ./images -r
# Optimize to output directory with custom quality
image-optimizer -i input_dir -o output_dir --jpeg-quality 90
# Create backups and use lossless compression
image-optimizer -i images --backup --webp-lossless
# Optimize SVG files (removes metadata, comments, editor attributes)
image-optimizer -i icons/ -r
# Resize raster images to max 1920px on longer edge
image-optimizer -i photos --max-size 1920
# Use maximum PNG optimization level
image-optimizer -i images --png-optimization-level max
# Use PNG optimization without zopfli compression
image-optimizer -i images --no-zopfli
# Update to the latest version
image-optimizer --update
-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)--webp-lossless
- Use lossless compression for WebP--jpeg-quality <1-100>
- JPEG quality (default: 85, applies to raster formats only)-r, --recursive
- Recursively scan subdirectories--max-size <PIXELS>
- Maximum size for longer edge (resizes if larger, applies to raster formats only)--png-optimization-level <0-6|max>
- PNG optimization level (default: 2, max is alias for 6)--no-zopfli
- Disable zopfli compression for PNG optimization--update
- Update to the latest version from GitHub releasesThe tool uses parallel processing to optimize multiple images simultaneously, making it efficient for batch operations on large image collections.