PixelBatch is a powerful, user-friendly desktop application for batch image optimization on Linux. Optimize hundreds of images at once while preserving quality, reducing file sizes, and saving disk space.
Main Interface - Batch image optimization with real-time statistics
Optimizer Settings - Fine-tune compression for each format
- π Batch Processing: Optimize multiple images simultaneously with configurable concurrent task limits
- π Drag & Drop: Simply drag images into the application to add them to the queue
- πΌοΈ Multiple Formats: Support for JPEG, PNG, GIF, and SVG images
- β‘ Parallel Processing: Process multiple images concurrently for maximum efficiency
- π Real-time Statistics: See original size, optimized size, and savings for each image
- π― Lossless Optimization: Reduce file size without quality loss using industry-standard tools
- βοΈ Configurable: Customize output paths, file prefixes, and optimization settings
- π Progress Tracking: Monitor the status of each task (Pending, Processing, Completed, Error)
- π Quick Actions: Open optimized images directly from the application
- πΎ Smart Defaults: Remembers your last used directories and preferences
- Web Developers: Optimize images for faster website loading times
- Photographers: Reduce storage requirements for image collections
- Content Creators: Prepare images for social media and online platforms
- System Administrators: Batch process server assets and reduce bandwidth usage
- Designers: Optimize graphics while maintaining quality
Make sure you have the following dependencies installed:
# Ubuntu/Debian
sudo apt-get install qt5-default build-essential
# Required optimization tools
sudo apt-get install jpegoptim pngquant gifsicle
# SVGO (requires Node.js)
sudo apt-get install npm
sudo npm install -g svgo
# Note: pngquant 3.0+, gifsicle 1.9+, and SVGO 3.0+ recommended for best results# Clone the repository
git clone https://github.com/keshavbhatt/PixelBatch.git
cd PixelBatch/src
# Build the application
qmake PixelBatch.pro
make
# Run the application
./pixelbatch# Install to /usr/local (default)
sudo make install
# Or install to custom prefix
qmake PREFIX=/opt/pixelbatch PixelBatch.pro
make
sudo make install# Install from Snap Store (coming soon)
snap install pixelbatch# Install from Flathub (coming soon)
flatpak install flathub com.ktechpit.pixelbatch
# Run the application
flatpak run com.ktechpit.pixelbatchIf you want to build and test the Flatpak package locally:
# Easy way - use the build script
./build-flatpak.sh all
# Manual way
# Install flatpak-builder
sudo apt-get install flatpak-builder
# Add Flathub repository (if not already added)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install KDE runtime and SDK
flatpak install flathub org.kde.Platform//5.15-23.08 org.kde.Sdk//5.15-23.08
# Build and install the Flatpak
flatpak-builder --force-clean --user --install build-dir com.ktechpit.pixelbatch.yml
# Run the locally built Flatpak
flatpak run com.ktechpit.pixelbatchFor more details on Flatpak packaging, see FLATPAK.md.
- Launch PixelBatch from your application menu or terminal
- Add Images:
- Click "Add Images" button, or
- Drag and drop image files directly into the window
- Configure Settings (optional):
- Set output directory for optimized images
- Configure file naming prefix
- Adjust concurrent task limit
- Customize optimizer settings (Edit β Optimizer Settings)
- Start Processing:
- Click "Process Images" button
- Watch real-time progress for each image
- View Results:
- See file size reduction statistics
- Right-click tasks for quick actions (open, view, remove)
- Re-process Images (optional):
- Change optimizer settings if needed
- Click "Re-process Images" to optimize again with new settings
- Useful for testing different quality/compression levels
| Format | Extension | Optimizer Used | Compression Type |
|---|---|---|---|
| JPEG | .jpg, .jpeg |
jpegoptim | Lossless or Lossy |
| PNG | .png |
pngquant | Lossy with quality control |
| GIF | .gif |
gifsicle | Lossless or Lossy |
| SVG | .svg |
SVGO | Lossless (code optimization) |
- Ctrl+O: Add images
- Ctrl+Q: Quit application
- Delete: Remove selected task
- Enter/Return: Open completed image in viewer
- Escape: Deselect current selection
- Ctrl+A: Select all tasks
- F5: Start processing
# Specify images to load on startup
pixelbatch image1.jpg image2.png image3.gif
# Open with specific working directory
pixelbatch --dir /path/to/images- Documentation: See DEVELOPER_README.md for technical details
- Issues: Report bugs on GitHub Issues
- Community: Join our discussion forums
We welcome contributions! Here's how you can help:
- π Report Bugs: Open an issue with detailed reproduction steps
- π‘ Suggest Features: Share your ideas for improvements
- π Improve Documentation: Fix typos, add examples, clarify instructions
- π§ Submit Code: Fix bugs or implement new features
- π Translations: Help translate PixelBatch to other languages
See DEVELOPER_README.md for comprehensive development documentation including:
- Project structure and architecture
- Coding conventions and patterns
- Build system details
- How to add new features
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our coding conventions
- Test thoroughly
- Commit with clear messages (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
- Operating System: Linux (Ubuntu 18.04+, Debian 10+, or equivalent)
- Qt: Version 5.9 or higher
- Optimization Tools:
- jpegoptim (v1.5.0+) - for JPEG optimization
- pngquant (v2.0+, v3.0+ recommended) - for PNG optimization
- gifsicle (v1.9+, v1.95+ recommended) - for GIF optimization
- SVGO (v3.0+, v4.0+ recommended) - for SVG optimization (requires Node.js)
- Qt5 development libraries
- C++17 compatible compiler (GCC 7+, Clang 5+)
- qmake build tool
- make
PixelBatch is licensed under the GNU General Public License v3.0.
This means you are free to:
- β Use the software for any purpose
- β Study and modify the source code
- β Share the software with others
- β Distribute modified versions
See LICENSE for full license text.
- jpegoptim: Utility to optimize JPEG files
- pngquant: Lossy PNG compressor
- Qt Framework: Cross-platform application framework
- Open Source Community: For continuous inspiration and support
- π Homepage: ktechpit.com
- π Documentation: DEVELOPER_README.md
- π Bug Reports: GitHub Issues
- π¬ Discussions: GitHub Discussions
Made with β€οΈ for the Linux community
If you find PixelBatch useful, please consider giving it a β on GitHub!