Skip to content
cliplimeClipLime

Convert BMP to PNG

The same pixels in a much smaller file, with nothing sent anywhere.

Runs on your device, nothing is uploaded

or drop files here

BMP files · add as many as you like · nothing is uploaded

At a glance

What it does
Converts BMP files to PNG without changing a single pixel, one file or many.
Same pixels
In our tests the PNG matched Pillow's reading of the BMP exactly for 24 bit, 8 bit, 1 bit, RLE and top-down files, and within one level of 255 for 16 bit and alpha files.
Size
Much smaller. A 2048 by 1536 photo went from 9.4 MB to 4.5 MB, and graphics with flat colour often shrink to a few percent of the BMP.
Transparency
Kept when the BMP declares an alpha channel. A plain 32 bit BMP is read as opaque.
Palettes
An 8 bit or 1 bit BMP gives a palette or 1 bit PNG, which stays small.
Optimiser
A lossless optimiser makes PNG files smaller. It is skipped above 16 megapixels to stay fast.
Privacy
Files are converted on your device and never uploaded.

How to do it

  1. 1

    Add your BMP files

    Choose or drop them. The page reads each file's format and pixel size and shows a preview where your browser can draw it.

  2. 2

    Leave the optimiser on

    PNG is preselected with Make PNG files smaller on. It changes nothing in the picture and only helps the file size.

  3. 3

    Convert

    Press the button. The list shows each new size and how much smaller it is.

  4. 4

    Download

    Take the files one by one or as a ZIP.

Lossless means the same pixels

PNG compresses a picture without discarding anything, so a PNG made from a BMP shows exactly the same picture. We tested this instead of assuming it: nine BMP files of different kinds were converted in Chrome and compared pixel by pixel with Pillow's reading of the same files. Seven came out identical, and two (a 16 bit file and a file with partly see-through pixels) differed by at most one level out of 255.

The file shrinks because BMP stores every pixel in full while PNG predicts each pixel from its neighbours and compresses what is left. Flat areas compress to almost nothing: a 96 by 64 picture of flat shapes went from 18 KB to 386 bytes. A photograph compresses much less, and our 9.4 MB photo became 4.5 MB.

Transparency in a BMP is a special case

Most BMP files have no transparency. A 32 bit BMP stores four bytes per pixel, but the fourth is only an alpha channel when the file's header says so, in the newer header forms that include an alpha mask. MDN notes that alpha in BMP is not widely used and often not implemented at all.

We tested both cases. A file with an alpha mask kept its transparent strip and its half transparent block exactly. A file with a plain header and real values in the fourth byte was read as fully opaque: a corner that was see-through in the source came out as solid black. That is how browsers read such files, and it is the reason a transparent logo saved as a BMP is not a safe master. If the picture matters, make the PNG from the original program instead.

1, 8, 16 and 24 bit files

  • 24 bit pictures keep all their colours. PNG stores them at 8 bits per channel, the same.
  • 8 bit palette files stay palette pictures, so the PNG is small. A test file of 6.5 KB gave a 717 byte PNG.
  • 1 bit black and white files stay 1 bit.
  • 16 bit files use 5 or 6 bits per channel. The browser expands those to 8 bits when it opens them, so the PNG is a normal full colour picture with the same look.

PNG here is always 8 bits per channel. A BMP cannot hold more than that, so nothing is lost on the way.

When the PNG is still big

A PNG of a photograph is large however well it is compressed, because every pixel of detail is kept. If the BMP is a photo and you only need to share it, BMP to JPG gives a file of well under a tenth of the BMP. Use PNG for screenshots, diagrams, icons, pixel art and anything you will edit again.

Pictures above 16 megapixels skip the optimiser, so those PNG files are bigger than they could be. The list notes it when that happens.

Questions people ask

Is BMP to PNG really lossless?

Yes. PNG compresses without discarding information. In our tests the pixels matched Pillow's reading of the BMP exactly for most files and within one level for 16 bit and alpha files.

How much smaller will the PNG be?

It depends on the picture. A photograph roughly halved in our test, from 9.4 MB to 4.5 MB. Pictures with flat colour, such as screenshots and diagrams, can shrink to a small fraction of the BMP.

Will transparency be kept?

Only if the BMP declares an alpha channel in its header. We tested a file that did, and the transparency came through exactly. A 32 bit BMP with a plain header is read as opaque, whatever its fourth bytes hold.

Does it keep the BMP's colour depth?

Palette and black and white BMPs give palette and 1 bit PNGs. A 16 bit BMP becomes a normal 8 bit per channel picture, which looks the same.

Why did my PNG come out bigger than I expected?

Photographs do not compress well without loss. For a photo use JPG, and use PNG for graphics. Pictures above 16 megapixels also skip the optimiser, which makes the PNG bigger.

Are my files uploaded?

No. They are decoded and written in your browser. Only the converter's own code comes from this site.

Guides that help

All Images guides →