CaesiumCLT

Fast and efficient lossy/lossless image compression tool

demo

## Features

Flexible Compression Modes

Choose quality-based compression, target a specific file size, or use truly lossless optimization — whatever fits your needs.

Built-In Image Operations

Resize and convert formats in one step, directly from the command line.

Streamlined Batch Workflows

Process directories recursively, preserve folder structure and timestamps, and handle large batches with ease.

## Binary downloads

  Platform Arch Download
Windows x86_64
Apple macOS (Apple Silicon) arm64
macOS (Intel chips) x86_64
Linux Linux arm64
Linux x86_64

## Installation

### Cargo (requires Rust v1.79+)

cargo install caesiumclt

### Homebrew (macOS, Linux)

brew install caesiumclt
To build from source refer to README.md

## Examples

### Lossless compression

# Compress with metadata preservation
caesiumclt --lossless -e --keep-dates -o output/ image.jpg
                        

### Lossy compression

# Compress multiple images with a specific quality
caesiumclt -q 75 -o output/ image1.jpg image2.png image3.webp

# Compress with suffix to avoid overwriting originals
caesiumclt -q 85 --suffix _compressed --same-folder-as-input image.jpg
                        

### Lossy compression

# Compress with quality setting
caesiumclt -q 80 -o output/ image.jpg

# Compress multiple images with a specific quality
caesiumclt -q 75 -o output/ image1.jpg image2.png image3.webp

# Compress with suffix to avoid overwriting originals
caesiumclt -q 85 --suffix _compressed --same-folder-as-input image.jpg
                        

### Format conversion

# Convert images to WebP format with quality setting
caesiumclt -q 85 --format webp -o output/ Pictures/*.jpg
                        

### Resizing

# Resize to specific width (maintaining aspect ratio)
caesiumclt --lossless --width 1920 -o output/ image.jpg

# Resize to specific height (maintaining aspect ratio)
caesiumclt -q 90 --height 1080 -o output/ image.jpg
                        
Full documentation in docs/USAGE.md