ποΈ Image Optimizer Pro
β¨ A powerful desktop application for image compression, resizing, and format conversion β¨
Built with Python + tkinter π² featuring a sleek dark UI inspired by Google Material Design π¨
π Features
| Feature |
Description |
Icon |
| ποΈ Compress |
Reduce file size while maintaining quality |
Lossy compression |
| π Resize |
Scale by dimensions or percentage with presets |
Smart scaling |
| π Convert |
Convert between JPEG, PNG, and WebP |
Format conversion |
| π Batch |
Process multiple images at once |
Bulk processing |
| π± Responsive |
Generate multiple sizes for web/mobile |
Multi-size export |
| π₯ ZIP Export |
Download processed images as archive |
Easy sharing |
| π¨ Dark UI |
Modern Material Design interface |
Eye-friendly |
| π Progress |
Real-time progress tracking |
Visual feedback |
| π§Ή Metadata |
Strip EXIF data from images |
Privacy focused |
π Demo / Preview
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π» APPLICATION UI β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ποΈ Image Optimizer Pro Version 2.0.0 π OptimizedImagesβ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β ποΈ Compress β π Resize β π Convert β π Batch β π±Responsiveβ
β ββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ€ β
β β β β β
β β ποΈ Compress β πΈ Images (0 images) β β
β β β β β
β β Quality β [π Browse Files] [π Browse] β β
β β βββββββββ β [ποΈ Clear] [π₯ Download ZIP]β β
β β [βββββββββ] 85% β β β
β β β β β
β β β Strip Metadata β β β
β β β Preserve Orig β β β
β β β β β
β β [βΆοΈ Compress Images] β β
β ββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ β
β Ready β’ Add images to begin [ββββββββββ] 45% β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Requirements
| Requirement |
Version |
Description |
| π Python |
3.x |
Python interpreter |
| πΌοΈ Pillow |
Latest |
Image processing library |
| π₯οΈ Windows |
10/11 |
Operating system |
π¦ Install Python & Dependencies
# Check Python version
python --version
# Install Pillow
pip install pillow
β‘ Quick Start
Step 1οΈβ£: Clone the Repository
git clone https://github.com/himeshajayaneth/compress-tool.git
cd compress-tool
Step 2οΈβ£: Install Dependencies
Step 3οΈβ£: Run the Application
python image_optimizer.py
π How to Use (Detailed)
π Getting Started Guide
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π― STEP-BY-STEP GUIDE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β π₯ STEP 1: Add Images β
β ββ Click "Browse Files" β Select individual imagesβ
β ββ Click "Browse Folder" β Load all from a folder β
β β
β π§ STEP 2: Select Tool β
β ββ Compress β Reduce file size β
β ββ Resize β Change dimensions β
β ββ Convert β Change format β
β ββ Batch β Process all at once β
β ββ Responsive β Generate multiple sizes β
β β
β βοΈ STEP 3: Configure Settings β
β ββ Quality slider (1-100%) β
β ββ Output format (JPEG/PNG/WebP) β
β ββ Dimensions or scale percentage β
β β
βΆοΈ STEP 4: Process Images β
β ββ Click the action button to start β
β β
β π€ STEP 5: Export β
β ββ Download as ZIP archive β
β ββ Open output folder β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| π οΈ Tool |
π Description |
β‘ Usage |
| ποΈ Compress |
Reduce image file size |
Quality: 1-100% |
| π Resize |
Change image dimensions |
Width/Height/Scale |
| π Convert |
Change image format |
JPEG β PNG β WebP |
| π Batch |
Process multiple images |
Single click |
| π± Responsive |
Create multiple sizes |
Thumb to Full HD |
π Resize Presets
| Preset |
Dimensions |
Use Case |
| πΌοΈ Thumbnail |
150Γ150 |
Avatars, Icons |
| π± Small |
320Γ320 |
Mobile |
| π± Medium |
768Γ768 |
Tablets |
| π» Desktop |
1280Γ1024 |
Standard |
| πΊ HD |
1920Γ1080 |
Full HD |
π± Responsive Sizes
| Size |
Dimensions |
Use Case |
| πΌοΈ Thumbnail |
150px |
Mobile thumbnails |
| π± Mobile |
320px |
Small phones |
| π± Tablet |
768px |
iPads, Tablets |
| π» Desktop |
1280px |
Laptops, Monitors |
| πΊ Full HD |
1920px |
4K displays |
| π₯ Input Formats |
π€ Output Formats |
| JPEG (.jpg, .jpeg) |
JPEG (.jpg) |
| PNG (.png) |
PNG (.png) |
| WebP (.webp) |
WebP (.webp) |
| BMP (.bmp) |
Β |
| GIF (.gif) |
Β |
π‘ Use Cases
| Use Case |
Recommended Tool |
Settings |
| πΈ Photo Sharing |
Compress |
Quality: 80-85% |
| π Web Images |
Responsive |
All sizes |
| π± Social Media |
Convert + Resize |
PNG, 1080px max |
| π§ Email Attachments |
Compress |
Quality: 60-70% |
| πΌοΈ Print |
Resize |
High quality |
| π¦ Batch Archive |
Batch |
Quality: 85% |
π§ Technical Details
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββ
β π± APPLICATION LAYERS β
βββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββ β
β β π¨ UI Layer (tkinter) β β
β β β’ Headers, Toolbar, Panels β β
β βββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββ β
β β βοΈ Business Logic Layer β β
β β β’ ImageOptimizerApp β β
β β β’ Tool switching β β
β βββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββ β
β β πΌοΈ Image Processing β β
β β β’ Pillow (PIL) β β
β β β’ Compress, Resize, Convert β β
β βββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββ
βοΈ Default Settings
| Setting |
Default |
Description |
| πΌοΈ Quality |
85% |
Compression quality |
| π Window Size |
1200Γ800 |
UI size |
| π Min Size |
1000Γ700 |
Minimum window |
| π Output |
OptimizedImages/ |
Output folder |
| π¨ Theme |
Dark |
UI theme |
π Key Functions
| Function |
Description |
Parameters |
compress_images() |
Compress with quality |
quality (1-100), strip_meta |
resize_images() |
Resize by dimensions |
width, height, scale |
convert_images() |
Convert format |
format, quality |
batch_process() |
Batch operation |
quality |
generate_responsive() |
Multi-size |
sizes list |
π¨ Color Palette
| Color |
Hex |
Usage |
| π΅ Primary BG |
#1a1a2e |
Main background |
| π· Secondary BG |
#16213e |
Cards, panels |
| π Accent |
#6366f1 |
Buttons, active |
| π’ Success |
#10b981 |
Success actions |
| β οΈ Warning |
#f59e0b |
Warnings |
| β Danger |
#ef4444 |
Delete, clear |
π Output
π Output Directory
~/Desktop/OptimizedImages/
π File Naming Convention
| Operation |
Output Filename |
Example |
| Compress |
{name}_optimized.jpg |
photo_optimized.jpg |
| Resize |
{name}_resized.jpg |
photo_resized.jpg |
| Convert |
{name}_converted.{fmt} |
photo_converted.png |
| Batch |
{name}_batch.jpg |
photo_batch.jpg |
| Responsive |
{name}_{size}.jpg |
photo_thumbnail.jpg |
β FAQ (Frequently Asked Questions)
General Questions
| Question |
Answer |
| β Is it free? |
Yes! MIT Licensed |
| β Is it safe? |
Yes! No data leaves your device |
| β Does it work offline? |
Yes! 100% offline |
| β What OS is supported? |
Windows 10/11 |
| β Can I preserve originals? |
Yes! Check βPreserve Originalβ |
Technical Questions
| Question |
Answer |
| β Best quality for web? |
80-85% |
| β Best for email? |
60-70% |
| β Does it remove EXIF? |
Yes! Check βStrip Metadataβ |
| β Format for transparency? |
Use PNG |
| β Format for web? |
Use WebP |
π§ Troubleshooting
Common Issues
| Issue |
Solution |
| π« Python not found |
Install Python 3.x |
| π« Pillow not installed |
pip install pillow |
| π« No images loaded |
Browse files first |
| π« Error opening file |
Check file permissions |
| π« Slow processing |
Reduce batch size |
Installation Errors
# Error: pip not found
python -m pip install pillow
# Error: Permission denied
pip install pillow --user
# Update pip first
python -m pip install --upgrade pip
| Tip |
Benefit |
| πΎ Close other apps |
Faster processing |
| π Use SSD |
Quick save times |
| π― Right quality |
Balance size/quality |
| π¦ Batch process |
Save time |
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- π΄ Fork the repository
- π§ Create your feature branch
- π Commit your changes
- π€ Push to the branch
- π Create Pull Request
π License
MIT License
Copyright (c) 2024 Himesha Jayaneth
π©βπ» Author
Himesha Jayaneth π
π Acknowledgments
| Library |
Purpose |
Link |
| πΌοΈ Pillow |
Image processing |
python-pillow.org |
| π Python |
Programming language |
python.org |
| π¨ tkinter |
GUI framework |
Python stdlib |
π Changelog
v2.0.0 (Current)
- β
Added responsive image generation
- β
Added ZIP export
- β
Improved dark UI
- β
Added progress bar
- β
Added metadata stripping
v1.0.0
- β
Initial release
- β
Basic compression
- β
Resize tool
- β
Convert tool
β Don't forget to star this repository if you found it helpful! β
Made with β€οΈ by Himesha Jayaneth