Repository navigation
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
Repository files navigation
COMPRESSD ========= A simple tool I built to help me deal with massive piles of images taking up way too much space. It scans through your folders, finds your images, and converts them into modern formats like WebP or AVIF. It's designed to be fast without being a resource hog. It tracks what it's already processed so it doesn't waste time doing the same work twice, and it tries to use as much of your CPU as it can to get the job done quickly. INSTALLATION ============ The easiest way to get started is to grab a prebuilt version from the GitHub Releases page. Windows ------- You can download the `compressd-setup.exe` installer for a standard installation, or grab the `compressd-windows-amd64.zip` if you just want the executable and its dependencies in a folder. Linux ----- You can use the one-liner to install it quickly: $ curl -sSL https://raw.githubusercontent.com/skidoodle/compressd/main/install.sh | sh Or just download the `compressd-linux-amd64.tar.gz` from the releases page. Build from source ----------------- If you've got Go and `libvips` installed on your system, you can just run: $ go install github.com/skidoodle/compressd@latest HOW TO USE ========== $ compressd Usage: compressd [OPTIONS] <TARGET_DIRECTORY> OPTIONS: -j, --jobs <int> Number of parallel processing tasks (default: 12) -f, --format <str> Output format: webp, avif, jxl, jpeg, png or tiff (default: "webp") -q, --quality <int> Image quality [1-100] (default: 75) -r, --resize <name> Downscale so the longest edge fits a preset: small (1280), medium (1920), large (2560), xlarge (3840) -e, --extension Rename the file extension to match the output format -c, --cache <path> Where to store the persistent cache index -v, --verbose Enable detailed logging -s, --silent Suppress progress bar and non-essential output (for cron/logging) --version Print version information FORMATS ======= Lossy formats (affected by -q): webp The best all-rounder and the default. Supported everywhere. avif Smallest files, but slower to encode. jxl Often beats AVIF on size and encodes faster. Ideal for archival storage, though browser support is still limited. jpeg A universal compatibility target, e.g. for converting HEIC photos. Lossless formats (-q is ignored): png Pixel-perfect output. Converting photos to PNG will increase file sizes. tiff The print, scanning and archival standard. `--format jpg` and `--format tif` are accepted as aliases for `jpeg` and `tiff`.