Picture Batch BMP to PNG
BMP to PNG
This conversion loses nothing and typically shrinks the file by 60 to 90%. Both formats are lossless, so the pixels are identical — PNG simply compresses them, and BMP does not compress at all. If you have bitmaps taking up space for no reason, this is the fix.
Drop BMP images here
BMP files — or any of PNG, JPEG, WebP, AVIF, 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.
BMP metadata cannot be read by this tool, so there is nothing to carry across. Orientation is still applied to the pixels.
What happens to your image
File size depends mostly on the image itself.
| Property | Outcome |
|---|---|
| Transparency | Preserved: Kept. PNG stores a full alpha channel, so soft edges and cut-outs survive exactly. |
| Image quality | Preserved: Unchanged. Both formats are lossless, so every pixel comes through exactly. |
| Colour | Partly preserved: Converted to sRGB. Decoding an image colour-manages it into the browser's own space, so the output is sRGB and is left untagged, which every viewer reads as sRGB. A wide-gamut source is reported before conversion. |
| Exif metadata | Not preserved: BMP metadata is not read by this tool, so there is nothing to carry across. |
| Orientation | Preserved: Applied to the pixels, and the tag is reset to upright afterwards so nothing rotates the image a second time. |
The BMP reader here is not the browser's
Browsers do decode BMP, so writing another decoder looks like reinvention until you try it. They disagree on exactly the cases that matter: whether the fourth byte of a 32-bit pixel is transparency or padding, whether a negative height means the rows are stored the other way up, how unusual channel masks in 16-bit bitmaps are interpreted, and whether run-length encoded bitmaps are supported at all.
The result is that the same file converts differently in Chrome and Safari. So the decoder used here was written for this site: 1, 4, 8, 16, 24 and 32-bit bitmaps, palettes, BITFIELDS masks, RLE4 and RLE8 compression, top-down and bottom-up rows, and the old BITMAPCOREHEADER. The answer is the same in every browser.
The 32-bit transparency trap
A 32-bit BMP that does not declare an alpha mask is ambiguous, and the ambiguity has a wrong answer that looks like success. A great deal of software writes 32-bit bitmaps where the fourth byte is simply padding, left at zero. Read as alpha, zero means fully transparent, and the conversion produces a PNG that is entirely invisible.
So the rule applied here is: if no alpha mask is declared and the fourth byte is zero for every single pixel, it is padding — because nobody saves and converts an image that is entirely transparent. If it varies, it is real transparency. The result tells you which conclusion was reached.
Palette bitmaps come out with their colours intact
Bitmaps of 8 bits and below store an index into a colour table rather than a colour. Those are expanded to full colour on the way through. A 256-colour BMP becomes a PNG that looks identical — and PNG will often store it in a fraction of the space, since PNG has its own indexed mode and a compressor besides.
If something goes wrong
"The BMP is truncated."
The header describes more pixel data than the file contains — an interrupted copy or download.
What to do: Get the file again. This is detected before decoding rather than producing an image with a garbage strip at the bottom.
"This BMP stores a whole JPEG or PNG inside itself."
A rare printer-driver variant that wraps a compressed image in a BMP header.
What to do: Extract the embedded image with a desktop tool and convert that instead.
The image is upside down.
It should not be — both row orders are handled. If it happens, the file has a negative height and its rows stored the conventional way, which is contradictory.
What to do: Worth reporting. Re-saving in any editor will normalise it.
Questions
Will converting BMP to PNG lose quality?
No. Both formats store exact pixels, and the result is verified against the source after conversion — anything other than a near-exact match is treated as a failure rather than offered as a download.
How much smaller will the PNG be?
For screenshots, diagrams and anything with flat colour, usually 80 to 95% smaller. For photographic images, typically 50 to 70%. PNG compression rewards repetition, and uncompressed bitmaps are full of it.