The story behind this
This started as a script I ran locally when I needed to batch-convert some product photos. I turned it into a website when a few friends asked if they could use it too. It's still just me running it.
The reason it works locally instead of uploading to a server isn't really a technical achievement — it's just the way I wanted to use it myself. Chrome, Firefox, and Safari can handle JPG, PNG, and WebP encoding natively now. No plugins, no server-side code needed. HEIC conversion uses a WebAssembly decoder that runs the same way.
If you want to know more about how it works or why I built it this way, the about page has the longer version.
A quick note on which format to use
If you're putting an image on a website and you don't know which format to pick, convert it to WebP. It's smaller than JPG or PNG at equivalent quality, and browser support is effectively universal in 2026.
If you need a transparent background, WebP or PNG both work — JPG doesn't support it. If you're sharing with someone using older desktop software, stick with JPG or PNG. WebP support in desktop apps is still inconsistent.
If you're dealing with iPhone photos that won't open on Windows or won't upload to a website, that's a HEIC file — use the HEIC to JPG tool.
There's a longer breakdown in the image formats guide if you want the full comparison.
When does compressing images actually help?
Mostly when you're putting images on a website and care about load speed. Switching a large hero PNG to a compressed WebP can cut the file by 70% with no visible quality difference. That directly affects Core Web Vitals scores.
For archiving or editing, keep the original lossless format. Export compressed only for the final version that goes on the web. The image compressor shows you the exact before/after file size so you can decide what to keep.