A modern, client-side image compression tool that allows users to upload ZIP files containing images and compress them to a target size while maintaining proportions and file formats.
Initial commit generated in Manus (https://manus.ai) and improved upon
- Client-side Processing: All compression happens in your browser - no server uploads required
- ZIP File Support: Upload ZIP files containing multiple images
- Smart Compression: Automatically adjusts image dimensions to meet target file size
- Format Preservation: Maintains original file formats (JPEG, PNG, GIF, BMP, WebP)
- Modern UI: Clean, responsive design with smooth animations
- Real-time Progress: Live progress tracking and compression statistics
- Mobile Friendly: Fully responsive design that works on all devices
The application is deployed and available at: https://muiwvwct.manus.space
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Libraries:
- JSZip for ZIP file handling
- Canvas API for image compression
- Font Awesome for icons
- Google Fonts (Inter)
- Hosting: Static hosting compatible with GitHub Pages
- Upload: Drag and drop or click to select a ZIP file containing images
- Configure: Set your target ZIP file size (default: 2.5 MB)
- Process: The tool analyzes images and applies progressive compression
- Download: Get your compressed ZIP file with optimized images
The tool uses a sophisticated multi-pass compression approach:
- Analysis Phase: Extracts and analyzes all images from the ZIP file
- Target Calculation: Determines optimal compression ratio based on target size
- Progressive Compression: Applies iterative compression with quality adjustments
- Dimension Scaling: Reduces image dimensions while maintaining aspect ratios
- Quality Optimization: Adjusts JPEG quality and PNG optimization
- Final Assembly: Creates new ZIP file with compressed images
- Input: ZIP files containing images
- Image Formats: JPEG, PNG, GIF, BMP, WebP
- Output: ZIP file with compressed images in original formats
- Modern Gradient Design: Beautiful purple gradient header and accents
- Smooth Animations: Floating icons, progress bars with shimmer effects
- Hover Effects: Interactive elements with smooth transitions
- Responsive Layout: Adapts to desktop, tablet, and mobile screens
- Accessibility: Keyboard shortcuts and screen reader friendly
Ctrl/Cmd + O: Open file dialogCtrl/Cmd + S: Download compressed file (when available)
- 100% Client-side: No files are uploaded to any server
- Local Processing: All compression happens in your browser
- No Data Collection: No user data is stored or transmitted
- Secure: Works entirely offline after initial page load
- Chrome 60+
- Firefox 55+
- Safari 11+
- Edge 79+
- Mobile browsers with modern JavaScript support
This is a static website that can be hosted on:
- GitHub Pages
- Netlify
- Vercel
- Any static hosting service
Simply upload the files to your hosting provider - no server configuration required.
image-compressor/
├── index.html # Main HTML file
├── styles.css # CSS styles and animations
├── script.js # JavaScript functionality
└── README.md # This file
This project is designed to be simple and self-contained. If you'd like to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- JSZip library for ZIP file handling
- Font Awesome for beautiful icons
- Google Fonts for the Inter typeface
- Canvas API for image processing capabilities
- Manus (https://manus.ai) for initial project scaffolding
Made with ❤️ for efficient image compression