Free & MIT-licensed · v1.0.0

QuickShrink CLI

Batch-compress images from your terminal — JPEG, PNG, WebP & AVIF. Runs locally, no upload, no account. Perfect for build scripts and CI pipelines.

Install Try the web app →

Install

Run it once with npx (no install):

# compress every image in ./images, write to ./images/compressed
npx https://quickshrink.orthogonal.info/cli/quickshrink.tgz ./images

Or install it globally so quickshrink is always on your PATH:

npm install -g https://quickshrink.orthogonal.info/cli/quickshrink.tgz
quickshrink ./images -o ./dist --format webp --quality 80

Common recipes

# Convert a folder to WebP, cap width at 1600px (great for web)
quickshrink ./photos -o ./web --format webp --max-width 1600

# Recurse into subfolders, keep the structure
quickshrink ./assets -o ./out --recursive

# Preview what would happen, write nothing
quickshrink ./photos --dry-run

What you get

Local & privateYour images never leave the machine. Nothing is uploaded.
Batch + recursivePoint it at a folder or a glob. Folder structure is preserved.
Modern formatsJPEG, PNG, WebP, AVIF. Resize with --max-width / --max-height.
Fast & parallelUses all CPU cores via sharp (libvips). Strips metadata by default.

Options

FlagWhat it does
-o, --out <dir>Output directory (default: ./compressed)
--format <fmt>jpeg | png | webp | avif (default: keep original)
--quality <1-100>Encoder quality (default: 80)
--max-width / --max-heightResize down, never up
--recursiveWalk subfolders
--dry-runShow the plan, write nothing

Need it as a hosted API?

Running compression inside serverless functions or a CI runner where you can't install native libs? A hosted QuickShrink API (metered, key-based) is in private beta. Star the web app and check back, or email [email protected] to join the beta.