Loading repository data…
Loading repository data…
georgekhananaev / repository
Efficient and expeditious software designed for the swift compression, conversion, and resizing of multiple images simultaneously.
py-bulk-image-compressor is a user-friendly CLI tool for compressing and resizing images in bulk. It offers extensive options for managing image quality, format, and metadata while maintaining fast, efficient performance.

pip install py-bulk-image-compressor
Requires Python 3.10+
git clone https://github.com/georgekhananaev/py-image-compressor.git
cd py-image-compressor
pip install -r requirements.txt
pip install .
py-bulk-image-compressor -h
After installation, you can run:
py-bulk-image-compressor -h
Basic compression and resize:
py-bulk-image-compressor -l "path/to/original_images" -d "path/to/output"
Uses default format (jpeg), quality=80, max_width=1920px.
Specific format and quality:
py-bulk-image-compressor -l "path/to/original_images" \
-d "path/to/output" -f webp -w 800 -q 70
Remove metadata & skip larger compressed files:
py-bulk-image-compressor -l "path/to/original_images" \
-d "path/to/output" -rm y -r y
Logs are saved to logs.txt in the current cmd/terminal working directory. Installation & Usage screenshot below:

| Option | Required | Default Value | Description |
|---|---|---|---|
-l | Yes | (No Default) | Input directory for original images. (Example: -l "C:/images/") |
-d | No | /data/output/ | Output directory for compressed images. |
-f | No | jpeg | Output format (e.g., webp, png, avif). |
-w | No | 1920 | Maximum width (px). |
-q | No | 80 | Image quality (0-100). |
-r | No | n (off) | Remove compressed if it’s larger than the original (-r y). |
-rm | No | n (off) | Remove all metadata (-rm y). |
logs.txt file in your current working directory.configurations.ini file controls log settings (e.g., max_rows).git checkout -b feature-name.git commit -m "Add awesome feature".git push origin feature-name.This project is licensed under the MIT License.
If you find this tool helpful, consider supporting:
Your support helps me continue to create and maintain useful projects.
pip install py-bulk-image-compressor
usage:
py-bulk-image-compressor -h
.avif format (requires pillow-avif-plugin).requirements.txt with the latest package versions. pytest --maxfail=1 --disable-warnings -v
README.md.requirements.txt with the latest package versions.resources folder containing configurations.ini for storing program settings.customtkinter.-d, -f, and -q options. You can run:
python main.py -l "C:/Your Folder/"
Defaults: JPEG format, 80% quality, 1920px max width, /data/output/ as the destination folder.*args and **kwargs..heif and .heic formats (e.g., iPhone photos).requirements.txt to include pillow-heif.-r y to skip retaining larger compressed images.