A free, browser-based image compressor and resizer that processes images locally without uploading to any server. Reduce image file size, change format, and adjust dimensions while maintaining quality.
- 🖼️ Smart Compression: Compress images to target file sizes (80KB, 100KB, 200KB, 300KB, 400KB, or custom)
- 📏 Resize Images: Custom width and height with automatic aspect ratio preservation
- 🔄 Multiple Formats: Convert to JPEG, PNG, or WebP
- 🎛️ Quality Control: Adjustable quality settings for JPEG and WebP formats
- 📱 Drag & Drop: Easy file selection with drag and drop support
- 👀 Side-by-Side Preview: Compare original and compressed images
- 🔒 Privacy First: All processing done locally in your browser
- 📱 Responsive Design: Works perfectly on desktop and mobile devices
- ⚡ Instant Download: Download optimized images immediately
- Download the project files
- Open
index.htmlin your web browser - Start compressing - no installation required!
- Click the drop zone to browse files, or
- Drag and drop an image file directly onto the drop zone
- Target Size: Choose from preset sizes or enter a custom size in KB
- Output Format: Select JPEG (best for photos), PNG (best for graphics with transparency), or WebP (good compression for both)
- Dimensions: Optionally set custom width and/or height in pixels
- Quality: Adjust quality slider for JPEG and WebP formats (10-100%)
- Click the "Compress Image" button
- Watch the progress bar as your image is processed
- Preview the results side by side
- Review the file size reduction and quality
- Click the download link to save your compressed image
- Input: All browser-supported image formats (JPEG, PNG, WebP, GIF, etc.)
- Output: JPEG, PNG, WebP
- Uses HTML5 Canvas API for image processing
- Implements iterative quality reduction for target size optimization
- Maintains aspect ratio when resizing
- Progressive compression with up to 10 attempts for optimal results
- Modern browsers with HTML5 Canvas support
- Chrome, Firefox, Safari, Edge
- Mobile browsers (iOS Safari, Chrome Mobile)
tinycompress/
├── index.html # Main HTML interface
├── style.css # Styling and responsive design
├── main.js # Core compression logic and UI interactions
└── README.md # This file
The app automatically adjusts quality settings to reach your target file size while maintaining the best possible image quality.
- JPEG: Best for photographs, supports quality adjustment
- PNG: Best for graphics with transparency, lossless compression
- WebP: Modern format with excellent compression ratios
The interface adapts to different screen sizes, making it perfect for both desktop and mobile use.
Feel free to contribute to this project! Here are some ways you can help:
- Report bugs or issues
- Suggest new features
- Improve the UI/UX
- Add support for more image formats
- Optimize the compression algorithms
- Creator: Amit Gajare
- Email: syntaxamit@proton.me
- Instagram: @amitgajare_
This project is open source and available under the MIT License. Feel free to use, modify, and distribute as needed.
- Built with vanilla JavaScript, HTML5, and CSS3
- Uses HTML5 Canvas API for image processing
- Fonts: Atkinson Hyperlegible Next and Oswald from Google Fonts
Made with ❤️ by Amit Gajare
Need help? Contact us at syntaxamit@proton.me
