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
- macOS: Xcode Command Line Tools (
xcode-select --install) and CMake to build universal JPEG and WebP compressors. Preparation runs automatically before development and production builds and is reused until dependencies are reinstalled. The first WebP build downloads pinned WebP and libpng sources and verifies their SHA-256 checksums; installed apps need neither build tools nor network access for optimization.
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.
pnpm prepare:compressors && pnpm test:compressors tests real JPEG, PNG, GIF,
and SVG optimization and JPEG/PNG conversion to WebP. CI runs these checks on
both Apple Silicon and Intel Macs; macOS releases also run them before packaging.
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.
