@wdalhaj/imgsqz
v1.0.2
Published
Fast CLI to compress images and convert between formats (jpg, png, webp, avif, tiff). Powered by sharp.
Downloads
435
Maintainers
Readme
imgsqz
Fast CLI to compress images and convert between formats (JPG, PNG, WebP, AVIF, TIFF). Powered by sharp.
Install
npm install -g @wdalhaj/imgsqzThe installed CLI command is imgsqz. Requires Node.js 18 or newer.
Quick start
The default command takes an image path and writes an optimized JPG next to the source with a _<timestamp>.jpg suffix:
imgsqz path/to/image.png
# → path/to/image_20260526_132517.jpgProcess several files at once:
imgsqz *.pngExamples
# Convert PNG → WebP at quality 60
imgsqz photo.png -f webp -q 60
# Resize to 800px wide (height auto), output AVIF
imgsqz photo.jpg -f avif --width 800
# Pick exact output path
imgsqz photo.jpg -o out/thumb.webp -f webp -q 70
# Overwrite the original in place
imgsqz photo.jpg --replace -q 80
# Lossless WebP, keep EXIF/ICC metadata
imgsqz photo.jpg -f webp --lossless --no-strip-metadataOptions
| Flag | Description | Default |
|---|---|---|
| -f, --format <fmt> | Output format: jpg, jpeg, png, webp, avif, tiff | jpg |
| -q, --quality <1-100> | Compression quality (lower = smaller file) | 80 |
| -o, --output <path> | Explicit output path (single input only) | — |
| --width <px> | Resize width in pixels | — |
| --height <px> | Resize height in pixels | — |
| --fit <mode> | Resize fit: cover, contain, fill, inside, outside | inside |
| --enlarge | Allow upscaling beyond source dimensions | off |
| --lossless | Lossless mode (WebP / AVIF / PNG) | off |
| --grayscale | Convert to grayscale | off |
| --no-strip-metadata | Preserve EXIF / ICC (stripped by default) | strip |
| --no-timestamp | Omit the _<timestamp> suffix from auto-named output | on |
| --replace | Overwrite the source file in place | off |
| --quiet | Suppress per-file progress output | off |
| -v, --version | Print version | — |
| -h, --help | Show help | — |
Notes
- JPEG output uses mozjpeg with progressive encoding for smaller files.
- EXIF orientation is honoured automatically — output is rotated upright.
- Metadata (EXIF, ICC) is stripped by default. Use
--no-strip-metadatato keep it. --replacewrites to a temporary file first, then renames, so an interrupted run won't corrupt your source.
