A modern, client-side web app for common image operations. All processing runs in your browser—no images are uploaded to any server.
- Compress — Reduce file size with adjustable quality
- Resize — Change dimensions with optional aspect ratio lock
- Crop — Crop images with a visual editor
- Remove BG — Remove backgrounds using AI (runs locally in browser)
- Base64 — Encode images to base64 string (copy or download)
- PNG → JPG — Convert PNG images to JPG
- WEBP → PNG — Convert WebP images to PNG
- Next.js 15
- React 19
- Tailwind CSS
- @imgly/background-removal
- browser-image-compression
- react-image-crop
- Node.js 18+
- npm or yarn
npm installCopy .env.example to .env.local and customize:
cp .env.example .env.local| Variable | Description |
|---|---|
NEXT_PUBLIC_SITE_URL |
Site URL for OG images and canonical links (required for production) |
NEXT_PUBLIC_CONTACT_EMAIL |
Contact email (optional) |
NEXT_PUBLIC_TWITTER_URL |
Twitter/X profile URL (optional) |
NEXT_PUBLIC_INSTAGRAM_URL |
Instagram profile URL (optional) |
NEXT_PUBLIC_INDIEHACKERS_URL |
Indie Hackers profile URL (optional) |
NEXT_PUBLIC_GITHUB_URL |
GitHub repo URL (optional) |
npm run devOpen http://localhost:3000.
npm run build
npm startnpm run lintContributions are welcome. Please read our Code of Conduct and open an issue or pull request.
MIT