No uploads
Compression and EXIF stripping run in your browser using the Canvas API and a tiny EXIF parser. Open devtools, switch to the Network tab, drop a file: nothing fires. The bytes never leave the tab.
Shrink JPEGs, PNGs, and WebPs and remove every embedded GPS coordinate, camera serial, and timestamp without a single byte leaving your device. Drag a file in, see the savings, drop the cleaned file back into your filesystem.
or click below. Stays on this device, period.
JPEG · PNG · WebP · up to 50 files in browser memory
Your images never leave the tab. Every claim below is something you can confirm in your own browser before you trust this tool with anything sensitive.
Compression and EXIF stripping run in your browser using the Canvas API and a tiny EXIF parser. Open devtools, switch to the Network tab, drop a file: nothing fires. The bytes never leave the tab.
No Google Analytics, Plausible, Sentry. Nothing reports back. The full source is on GitHub under MIT — clone it and grep.
No cookies, no localStorage of file content, no fingerprinting. Settings stick on this device only. Refresh and the queue clears.
A single HTML file you can drop on a USB stick. A CLI you can pipe into your image folder. The full source under MIT. Pick your level of paranoia.
One self-contained index.html. No internet required. Drop it on a thumb drive, double-click, work offline forever.
For batch jobs, build pipelines, and folks who never touch a mouse. Reads a directory, writes optimized files, exits clean.
npx xjmani-image-compressor ./photos
Every line of code, MIT-licensed, on GitHub. Fork it, audit it, extend it. Issues and PRs welcome.
github.com/xjmani/image-compressor →