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 →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
# 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
| Flag | What 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-height | Resize down, never up |
--recursive | Walk subfolders |
--dry-run | Show the plan, write nothing |
The QuickShrink web app compresses one image at a time for free. Select multiple images to unlock local batch processing and one ZIP download for $3.99 once. Image files stay on your device.