A free, privacy-focused online image processing tool with compression, format conversion, and cropping capabilities. All processing is done locally in your browser - your images never leave your device.
- Advanced compression algorithms maintain visual quality while reducing file size
- Adjustable quality settings (10-100%)
- Max size limits (no limit, 1920px, 1280px, 800px)
- Batch processing support
- Convert between JPG, PNG, WebP, GIF, and BMP formats
- One-click conversion to optimal format
- Adjustable output quality
- Free cropping or preset aspect ratios (1:1, 4:3, 16:9, etc.)
- Common size presets (800×600, 1280×720, 1920×1080, 1080×1080)
- ID photo sizes with real dimensions:
- 1-inch Photo (25×35mm)
- 2-inch Photo (35×49mm)
- Passport (35×45mm)
- Visa Photo (33×48mm)
- US Visa (51×51mm)
- Multiple output formats
- English
- Simplified Chinese (简体中文)
- Traditional Chinese (繁體中文)
- Auto-detection based on browser language
- Manual language switching
- 100% Client-side Processing: All image processing is done in your browser
- No Server Uploads: Images never leave your device
- No Data Collection: We don't track or store any information
- No Registration Required: Use all features without signing up
- Clone the repository:
git clone https://github.com/tinystacklab/image-cube.git
cd image-cube- Install dependencies:
npm install- Start development server:
npm run dev- Open http://localhost:3000 in your browser
npm run buildThe built files will be in the dist folder.
This is a static website that can be deployed to any static hosting platform.
- Push your code to a GitHub repository
- Log in to Cloudflare Dashboard
- Go to Pages → Create a project → Connect to Git
- Configure build settings:
- Build command:
npm run build - Build output directory:
dist
- Build command:
- Click Save and Deploy
- Push your code to GitHub
- Import project at Vercel
- Vercel will auto-detect Vite and configure accordingly
- Click Deploy
- Push your code to GitHub
- Import project at Netlify
- Configure build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Click Deploy site
- Add to
vite.config.js:base: '/your-repo-name/' - Build the project:
npm run build - Deploy the
distfolder to GitHub Pages
- Build Tool: Vite
- Image Compression: browser-image-compression
- Image Cropping: Cropper.js
- Styling: Vanilla CSS with CSS Variables
- Fonts: Inter (local) + System fonts for CJK
MIT License - feel free to use this project for personal or commercial purposes.
Contributions are welcome! Please feel free to submit a Pull Request.
- 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
If you have any questions or suggestions, please open an issue on GitHub.
Made with ❤️ for privacy-conscious image processing