A fast, private desktop image optimizer.
A free and open source desktop app for compressing raster images and optimizing vector graphics. Files are processed locally on your computer.
- Optimize JPEG, PNG, GIF, and SVG files in batches.
- Drop individual images or entire folders; nested folders are scanned recursively.
- Compare original and optimized images with an interactive before/after preview.
- Review per-file sizes, status, savings, total reduction, and elapsed time.
- Adjust JPEG and PNG quality before running a job.
- Convert JPEG and PNG images to WebP.
- Strip metadata and control where optimized files are written.
- Save results to a configurable output folder, add a
.minsuffix, or replace the source file. - Reveal completed files in Finder, Explorer, or the Linux file manager.
- Download and install published updates from inside the app.
| Input | Optimizer | Output |
|---|---|---|
| JPEG / JPG | mozjpeg | JPEG or WebP |
| PNG | pngquant | PNG or WebP |
| GIF | gifsicle | GIF |
| SVG | SVGO | SVG |
WebP conversion is powered by cwebp.
Download the latest installer from GitHub Releases.
- macOS: DMG and ZIP for Apple Silicon and Intel
- Windows: NSIS installer
- Linux: Snap package
- Node.js 24
- pnpm 10
Install dependencies and start the Electron app with hot reload:
pnpm install --frozen-lockfile
pnpm devRun the same checks used by CI:
pnpm check
pnpm format:check
pnpm buildpnpm check runs ESLint, TypeScript checks, and the Vitest test suite.
Build an unpacked application directory:
pnpm packagePlatform-specific packages can be created with:
pnpm package:mac
pnpm package:win
pnpm package:linuxFor an unsigned, non-notarized macOS package suitable for local testing, run:
pnpm package:mac:localGenerated packages are written to dist.
- Electron
- Vue 3
- TypeScript
- Vite
- Tailwind CSS and shadcn-vue
- Vitest
Copyright (c) 2021-present, Anton Reshetov.
