Batch image conversion that never uploads a file
Drop in as many images as you like — including camera raw files straight off the card — and convert them all inside the browser tab you are reading this in. Nothing is uploaded, nothing is queued on a server, and there is no account. Every file is identified from its own bytes, converted with real progress you can cancel, and then reopened and checked before you are offered the download.
Drop images here
Any of PNG, JPEG, WebP, AVIF, BMP, ICO, TIFF, GIF or camera raw (CR2, CR3, NEF, ARW, DNG, RAF, ORF, RW2). Everything runs on this device.
Your images never leave this device. They are decoded and re-encoded by your own browser, and the security policy on every page blocks this site from sending them anywhere.
Lossless, keeps transparency, universally supported, larger than modern formats.
PNG is lossless — it stores every pixel exactly, so there is nothing to trade away.
Images keep their original dimensions.
Kept. PNG stores a full alpha channel, so cut-outs and soft edges come through exactly.
Exif is carried across where both formats can hold it. Nothing currently in the queue has any.
Built for a queue, not for one file at a time
Most browser converters handle one image and then ask you to do it again. This one is a work queue: add fifty files, reorder them, change the output format for a single row, cancel one that is taking too long, retry the ones that failed, and download everything as a ZIP with a manifest recording exactly what happened to each file.
How many run at once is decided by your device rather than by a fixed number. Each conversion holds the source, a decoded copy and the encoder's working memory at the same time, so running eight at once on a laptop is how a browser tab gets killed halfway through a batch. Safari gets a single worker because it is the least forgiving under memory pressure — slower, but it finishes.
One bad file does not end the batch. A truncated PNG, a TIFF using a compression the decoder does not have, or an image so large it exhausts the memory a tab is allowed will fail on its own row with an explanation, and everything else carries on.
Honest about what conversion can and cannot do
Converting a JPEG to PNG does not restore what the JPEG threw away. It stores the artefacts losslessly, and the file usually gets larger. Converting a transparent PNG to JPEG does not keep the transparency, because JPEG has no way to store it — the transparent areas are filled with a colour, and you choose which one rather than being given white and no explanation.
Where something is lost, the page says so before you convert and the result says so afterwards. Where a browser cannot do something at all, the tool refuses rather than producing a file that opens but is wrong.
Camera raw is decoded, not previewed
A raw file is not a picture. It is one brightness reading per photosite behind a coloured filter, and turning it into an image means interpolating the two colours each pixel did not measure, applying the white balance the camera recorded, and mapping the sensor's response through a colour matrix measured for that exact camera model.
All of that happens here, using a mature decoding library also used by desktop photo software, fetched only when you add a raw file. The normal path decodes sensor data rather than pulling out the JPEG preview stored inside many raw files. Where sensor data genuinely cannot be decoded, that preview is offered as a clearly labelled fallback and never as the real thing.
Camera, lens, exposure and true sensor dimensions are shown when the decoder can read them. Supported metadata fields travel into formats that can store them; the file details show whether GPS data exists, but coordinates are deliberately not written.
Every file is checked before you get it
A converter can hand you a file that is the wrong format, upside down, missing its transparency or simply not decodable, and every one of those looks like success until you open it somewhere else. So each output is put back through the same identification and decoding path an input would take: its signature is read from its bytes, its dimensions are compared against what was asked for, it is decoded again, and those pixels are compared with the ones that went into the encoder.
Anything that fails those checks is reported as a failure instead of being offered as a download.
Every conversion, one page each
Each of these opens the same workspace with that pair already selected, and explains what survives the conversion and what does not.
From Camera raw
- DNG to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- ARW to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- CR2 to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- CR3 to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- NEF to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- RAW to JPEGLossy, no transparency, opens absolutely everywhere, small for photographs.
- RAF to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- ORF to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
- RW2 to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.
From AVIF
From BMP
From JPEG
From PNG
- PNG to AVIFThe smallest of the common formats at a given quality, with transparency and HDR support.
- PNG to ICOA Windows icon container holding several sizes of the same image in one file.
- PNG to BMPUncompressed Windows bitmap. Huge files, but read by anything, including very old software.
- PNG to WebPSmaller than JPEG and PNG, keeps transparency, supported by every current browser.
- PNG to JPGLossy, no transparency, opens absolutely everywhere, small for photographs.