- Modern and intuitive graphical user interface
- Batch processing capabilities:
- Add single or multiple images
- Add entire folders of images
- Thumbnail view for easy image management
- Comprehensive format support:
- Input: PNG, JPG, JPEG, TIFF, BMP, HEIF
- Output: JPEG (80%, 95%, 100% quality), PNG, TIFF, HEIF
- Aspect ratio presets:
- Original
- 1:1 (Square)
- 4:5 (Instagram Portrait)
- 5:4 (Instagram Landscape)
- 9:16 (Story)
- 2:1 (Banner)
- Border customization:
- Adjustable border size (0-300 pixels). The value entered is scaled per image so that the perceived width stays consistent across different resolutions.
- Custom color picker
- Live preview of changes
- Optional dark or light theme (choice persists across sessions)
- Advanced options:
- Optional metadata preservation
- Custom output filename prefix
- Quality settings for JPEG and HEIF formats
- Real-time preview with navigation between images
- Windows operating system
- Python 3.8 or higher
- Required Python packages (installed via requirements.txt):
- PyQt5 >= 5.15.0
- Pillow >= 9.0.0
- piexif >= 1.1.3
- pillow-heif >= 0.10.0
- Clone or download this repository
- Ensure Python 3.8+ is installed on your system
- Install required dependencies:
pip install -r requirements.txt- Advanced users may install
pillow-simdinstead ofPillowfor improved performance
- Launch the application:
python main.py-
Adding Images:
- Click "Add Images" to select multiple image files
- Click "Add Folder" to import an entire folder of images
- Use "Thumbnail View" to preview all imported images
-
Customize Settings:
- Select desired aspect ratio from the dropdown
- Adjust border size using the slider (0-300px)
- Choose border color with the color picker
- Select output format and quality
- Toggle metadata preservation
- Optional: Add custom filename prefix
- Switch between light and dark themes (your choice is remembered)
-
Preview and Process:
- Use Previous/Next buttons to navigate through images
- Live preview shows how the final image will look
- Click "Process Images" when satisfied with the settings
- Select output directory when prompted
- Processed images are saved in your chosen output directory
- Naming convention: [prefix]_original_filename
- Original images remain unchanged
- Output format and quality as selected in settings
- Images are automatically scaled to fit the selected aspect ratio while maintaining maximum quality
- GPS and location metadata can be optionally preserved
- Progress bar shows real-time processing status for batch operations
- Memory-efficient processing allows for large batches of images
- The
BORDERFRAME_WORKERSenvironment variable can limit the number of concurrent worker threads during processing - Border width is scaled using
scaled = int(user_px * min(width, height) /1000)and the resulting value is displayed next to the slider