A lightning-fast, browser-based image compression tool that respects your privacy. Compress and convert images instantly without uploading them to any server.
- 🚀 Client-side compression - your images never leave your device
- 💫 Convert between JPEG, PNG, and WebP formats
- 🎮 Interactive quality control with live preview
- 📱 Fully responsive design
- 🎯 Simple drag & drop interface
- 📊 Before/after size comparison
- ⚡ Zero dependencies (pure JavaScript)
- 🔒 Privacy-focused
- HTML5 Canvas API for image processing
- CSS3 with modern features
- Vanilla JavaScript (ES6+)
- Built-in Browser APIs
- No external dependencies
-
Client-Side Loading
- Images are loaded directly in the browser
- FileReader API converts images to data URLs
-
Canvas Processing
- Images are drawn onto HTML5 Canvas
- Maintains aspect ratio while processing
-
Quality Control
- Dynamic quality adjustment (1-100%)
- Real-time file size estimation
-
Format Conversion
- Uses Canvas.toBlob() API
- Supports JPEG, PNG, and WebP
- Automatic format optimization
- Lazy loading of resources
- Progressive image loading
- Efficient memory management
- Browser-native APIs
squish/
├── index.html # Main application file
├── README.md # Documentation
├── LICENSE # MIT License
└── vercel.json # Vercel configuration
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- 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
- 🎨 UI/UX improvements
- 🚀 Performance optimizations
- 📱 Mobile responsiveness
- 🌐 Internationalization
- 📝 Documentation improvements
- 🐛 Bug fixes
- ✨ New features
Distributed under the MIT License. See LICENSE
for more information.
- Project homepage: https://squish.vercel.app
- Repository: https://github.com/abdullah-w-21/squish
- Issue tracker: https://github.com/abdullah-w-21/squish/issues
If you find this project useful, please consider giving it a ⭐️ on Github and sharing it with your friends!