A modern, feature-rich photo size reducer application built with Python and PyQt6. Easily compress and resize your images with a beautiful graphical interface.
Pre-built executables available in Releases
- macOS: Download
.dmgor.app.zip- Double-click to install - Windows: Download
.exe- Just run the executable - Linux/Source: See installation instructions below
- Drag & Drop Support - Simply drag images or folders into the application
- Batch Processing - Process multiple images at once with progress tracking
- Live Preview - See before/after comparison before processing
- Compression Control - Adjust quality from 1-100%
- Multiple Resize Options:
- Resize by percentage (25%, 50%, 75%, or custom)
- Max dimension with aspect ratio preservation
- Custom dimensions
- Multiple Output Formats - JPEG, PNG, WebP
- Customizable Output - Set filename suffix and output folder
- Size Savings Report - See exactly how much space you saved
The application features a clean, modern dark interface with drag & drop support, live preview, compression controls, and resize options.
- Python 3.8 or higher
- pip (Python package manager)
# Clone the repository
git clone https://github.com/nsozturk/photo-size-reducer.git
cd photo-size-reducer
# Install required packages
pip install -r requirements.txt- PyQt6 >= 6.4.0
- Pillow >= 10.0.0
python photo_reducer.py-
Add Images
- Drag and drop images/folders onto the drop zone
- Or click "Browse Files..." to select images
-
Adjust Settings
- Set compression quality (1-100%)
- Enable resizing if needed:
- Choose percentage, max dimension, or custom size
- Select output format (JPEG, PNG, WebP)
- Set filename suffix (default:
_reduced) - Choose output folder (default: same as source)
-
Preview
- Click on any file in the list to see before/after preview
- Estimated file size shown in preview
-
Process
- Click "Process Images" to start
- Watch the progress bar
- Get a summary of total space saved
- JPEG (.jpg, .jpeg)
- PNG (.png)
- GIF (.gif)
- BMP (.bmp)
- WebP (.webp)
- TIFF (.tiff)
- JPEG - Best for photos, smaller file sizes
- PNG - Best for graphics, supports transparency
- WebP - Modern format, excellent compression
| Option | Description | Default |
|---|---|---|
| Quality | Compression level (1-100%) | 85% |
| Resize | Enable/disable resizing | Disabled |
| Percentage | Resize by percentage | 50% |
| Max Dimension | Maximum width or height | 1920px |
| Output Format | JPEG, PNG, or WebP | JPEG |
| Suffix | Filename suffix | _reduced |
Want to build your own executables? See BUILD.md for detailed instructions on:
- Building
.appfor macOS - Building
.exefor Windows - Creating DMG/ZIP distributions
- Automating builds with GitHub Actions
- Code signing and troubleshooting
Quick Build:
# macOS
./build_macos.sh
# Windows
build_windows.batContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Enes Ozturk
- GitHub: @nsozturk
Made with Python and PyQt6
