Image Resizer CLI is a fast, lightweight, and versatile Node.js CLI tool for resizing, converting, compressing, and optimizing images in JPEG, PNG, WebP, and other formats. It supports batch processing, custom dimensions, and high-quality compression using sharp. Ideal for developers, designers, and automation workflows needing quick and efficient image manipulation directly from the command line.
- ✅ Resize Images – Easily scale images to custom dimensions.
- ✅ Batch Resize – Resize multiple images at once.
- ✅ Convert Image Format – Change images to PNG, JPG, WebP, and more.
- ✅ Compress Images – Reduce file size while maintaining quality.
- ✅ Retrieve Image Metadata – View image details (format, size, dimensions).
- ✅ Cross-Platform – Works on Windows, macOS, and Linux.
- ✅ Fast & Lightweight – Uses
sharp
for efficient processing. - ✅ TypeScript Support – Fully typed for safer development.
This package supports the following image formats:
-
JPEG (
.jpg
,.jpeg
) -
PNG (
.png
) -
WebP (
.webp
) -
TIFF (
.tiff
) -
AVIF (
.avif
)
npm install -g @the-node-forge/image-resizer-cli
or using Yarn:
yarn global add @the-node-forge/image-resizer-cli
Command | Description |
---|---|
img-resizer resize <input> <output> --width <number> --height <number> |
Resize an image to specific dimensions |
img-resizer convert <input> <output> |
Convert an image to a different format (e.g., PNG to JPG) |
img-resizer batch-resize <inputDir> <outputDir> --width <number> --height <number> |
Resize all images in a directory |
img-resizer compress <input> <output> --quality <number> |
Compress an image with adjustable quality (1-100) |
img-resizer info <input> |
Display image metadata (format, size, dimensions) |
img-resizer resize input.jpg output.jpg --width 300 --height 200
ls -lh output.jpg # Check file details
open output.jpg # Open file (macOS)
start output.jpg # Open file (Windows)
img-resizer convert input.jpg output.png
img-resizer batch-resize images/ resized/ --width 500 --height 500
img-resizer compress input.jpg output.jpg --quality 80
img-resizer info input.jpg
When using img-resizer
, you can name the output file whatever you want,
including setting a custom directory.
img-resizer resize input.jpg my_custom_name.png --width 400 --height 300
- Output file:
my_custom_name.png
img-resizer resize input.jpg /images/optimized-photo.webp --width 600 --height 400
- Output file:
/images/optimized-photo.webp
If the output directory doesn’t exist, it will be automatically created.
Contributions are welcome! Please submit
issues or
pull requests.
If you find this package useful, please give it a ⭐ on
GitHub