Fast, browser-based image compression. Reduce file size without noticeable quality loss — no upload, no login, no storage.
Built for developers, students, freelancers, and anyone who needs quick image optimization.
- Drag & drop or browse — upload JPG, PNG, WEBP, or GIF (up to 10 MB)
- Quality slider — adjust compression from 1–100%
- Resize controls — set max width and height (aspect ratio preserved)
- WebP conversion — optional output format for smaller web files
- Before / after preview — compare original and compressed images side by side
- Size stats — original size, compressed size, and % saved
- One-click download — save the compressed image locally
All processing happens 100% in your browser. Images are never uploaded to a server and are never stored on disk by the app. Files exist only in memory while you work with them. The only time a file is written is when you explicitly click Download.
- Next.js 16 — App Router
- React 19
- Tailwind CSS v4 — styling
- browser-image-compression — client-side compression
- Tabler Icons — UI icons
Requires Node.js 18+ and pnpm.
git clone https://github.com/dhirajaryaa/Compressly.git
cd Compressly
pnpm install
pnpm devOpen http://localhost:3000 in your browser.
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Production build |
pnpm start |
Run production server |
pnpm lint |
Run ESLint |
- Drop an image onto the upload area or click Browse files
- Adjust quality, dimensions, or enable Convert to WebP
- Preview the result and check the size reduction
- Click Download to save the compressed image
Made with ❤️ by Dhiraj Arya