A converter that does not make you upload
“image converter” is a competitive term, and the reason is visible on the first page: most of those sites are fine tools that still want your file on their server — plus a consent banner, a queue and a size cap on the free tier. Meanwhile the browser itself has been able to decode PNG, JPEG, WebP, GIF, BMP and SVG for years, and to re-encode to PNG, JPEG and WebP.
So this page is the browser’s own decoder with a proper interface around it. Three things are deliberate:
- A matrix, not a one-way page. Most converters are a single direction (“PNG to JPG”) and you hunt for the opposite page. Here every source can go to any of the three outputs, and you see the source format the tool detected before you commit — including the wrong one, which is exactly when a conversion would silently ruin the image.
- Batch with no silent overwrites. Drop a folder and get one output per file, planned before anything runs. When two inputs would produce the same name (a.png and a.jpg both becoming a.png) the second is suffixed: that is how a ZIP export quietly loses a file otherwise.
- Resize and quality where they belong. Keep the original size, fit inside a box, scale by percent, or force exact dimensions — and for JPEG/WebP pick the quality. The resulting pixel size is computed first, so a 30000×30000 target is refused with numbers instead of failing halfway.
- An explicit refusal beats a broken file. TIFF, PSD, PDF, camera RAW: no native decoder, so the tool says so and refuses. HEIC and AVIF are attempted because Safari and recent Chromium can decode them — if the browser cannot, you get an error naming the file, not a black rectangle.
Everything is local: the file is read with the File API, decoded by the browser, drawn on a canvas and encoded back to a Blob, then packaged by a local ZIP writer. Two honest consequences are worth stating rather than hiding: re-encoding through a canvas drops metadata (EXIF, GPS, ICC), which is usually what you want before sharing a photo but is not something this tool can preserve; and animated GIFs lose their animation, because browsers decode only the first frame. HEIC and AVIF keep their bytes as long as your browser can decode them — encoding them is a separate, heavier job that is not part of this tool.