Skip to content

Free image compressor & optimizer for JPEG, PNG, WebP. Batch compress photos with quality presets, format conversion & resizing. Cross-platform Python GUI app.

License

Notifications You must be signed in to change notification settings

gary19gts/hikari-image-compressor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Hikari Image Compressor

Modern Image Compression Tool with Clean & Intuitive Interface

License: AGPL v3 Python 3.8+ Platform Made with Love

Image

Compress images effortlessly with a beautiful, intuitive interface designed for simplicity and power.

Features β€’ Installation β€’ Usage β€’ Screenshots β€’ Contributing β€’ Support


πŸ“– About

Hikari Image Compressor (ε…‰ - meaning "light" in Japanese) is a free, open-source desktop application that makes image compression simple and elegant. Whether you're optimizing photos for the web, reducing file sizes for storage, or preparing images for social media, Hikari provides powerful compression tools wrapped in a clean, modern interface.

Why Hikari?

  • 🎨 Beautiful UI - Clean, modern design that's both elegant and functional
  • ⚑ Fast & Efficient - Batch process multiple images with real-time previews
  • πŸ”§ Flexible Options - Multiple quality presets, formats, and resize capabilities
  • πŸ“Š Smart Estimates - See compression results before processing
  • πŸ†“ 100% Free - Open source and always will be
  • 🌍 Cross-Platform - Works on Windows, macOS, and Linux

✨ Features

Core Functionality

  • πŸ“ Batch Processing - Compress multiple images at once
  • πŸ–ΌοΈ Multiple Formats - Support for JPEG, PNG, WebP, BMP, and TIFF
  • 🎚️ Quality Presets - Choose from Low (30%), Medium (60%), High (80%), or Maximum (95%)
  • πŸ“ Smart Resizing - Scale images by percentage while maintaining aspect ratio
  • πŸ‘οΈ Live Preview - See thumbnails and estimated compression before processing
  • πŸ’Ύ Flexible Output - Save to custom folder or same location as source

Advanced Features

  • πŸ”„ Format Conversion - Convert between image formats during compression
  • πŸ“Š Compression Estimates - Real-time calculation of expected file sizes
  • 🎯 Transparency Handling - Automatic RGBA to RGB conversion for JPEG
  • βš™οΈ Multiple Engines - Choose between Pillow and Imageio compression engines
  • πŸ—‚οΈ Smart Naming - Output files include quality and scale suffixes
  • πŸš€ Non-Blocking UI - Background processing keeps the interface responsive

πŸš€ Installation

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Quick Install

  1. Clone the repository

    git clone https://github.com/Gary19gts/hikari-image-compressor.git
    cd hikari-image-compressor
  2. Install dependencies

    pip install -r requirements.txt
  3. Run the application

    python hikari_image_compressor.py

Dependencies

customtkinter>=5.2.0
Pillow>=10.0.0
imageio>=2.31.0

πŸ’» Usage

Basic Workflow

  1. Load Images - Click "Select Images" to choose files to compress
  2. Configure Settings - Adjust quality, format, and resize options
  3. Preview - Review thumbnails and estimated compression ratios
  4. Select Output - Choose where to save compressed images
  5. Compress - Click "Start Compression" and watch the magic happen!

Quality Guide

Quality Level Use Case Compression Quality
Low (30%) Thumbnails, previews Maximum Noticeable loss
Medium (60%) Web images, social media High Good balance
High (80%) General use, archiving Moderate Excellent ⭐
Maximum (95%) Professional work Minimal Near-lossless

Format Recommendations

  • JPEG - Best for photographs, no transparency support
  • WebP - Modern format, excellent compression, supports transparency
  • PNG - Lossless compression, transparency support, larger files

Resize Options

Scale images by percentage to reduce dimensions:

  • 50% - Perfect for web optimization
  • 25% - Ideal for thumbnails
  • 75% - Moderate size reduction

πŸ“Έ Screenshots

Main Interface

Main Interface

Batch Processing

Batch Processing

Settings Panel

Settings Panel

πŸ› οΈ Technical Details

Built With

Architecture

  • Single-class design for simplicity
  • Threading for non-blocking compression
  • Event-driven UI with real-time updates
  • Cross-platform compatibility with OS-specific optimizations

🀝 Contributing

Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, your help makes Hikari better.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/hikari-image-compressor.git

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run in development mode
python hikari_image_compressor.py

πŸ“ License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

What this means:

  • βœ… Free to use, modify, and distribute
  • βœ… Open source forever
  • βœ… Commercial use allowed
  • ⚠️ Must disclose source code
  • ⚠️ Must use same license for derivatives
  • ⚠️ Network use requires source disclosure

🌟 Support

Thank you for using Hikari Image Compressor! Made with ❀️ by Gary19gts

If Hikari has been helpful to you, please consider supporting its development:

β˜• Buy me a coffee on Ko-fi

Ko-fi

✨ Even the smallest donation can bring a big light during these tough times.

Even $1 can help more than you think πŸ˜€πŸ™

Thank you so much for standing with me! ✨

Other Ways to Support

  • ⭐ Star this repository - It helps others discover Hikari
  • πŸ› Report bugs - Help improve the software
  • πŸ’‘ Suggest features - Share your ideas
  • πŸ“’ Spread the word - Tell others about Hikari
  • 🀝 Contribute code - Join the development

πŸ“ž Contact & Links


πŸ™ Acknowledgments

Special thanks to:

  • CustomTkinter by Tom Schimansky - For the beautiful UI framework
  • Pillow team - For powerful image processing
  • Python Software Foundation - For the amazing Python language
  • Open Source Community - For inspiration and support
  • All contributors and users - For making this project possible

🌟 If you find Hikari useful, please give it a star! 🌟

Made with ❀️ and β˜• by Gary19gts

Bringing light to image compression, one pixel at a time.