Skip to the tool

Convert BMP to PNG.

Raw BMP bitmaps into tidy lossless PNGs — all in-browser.

No uploads — 100% local No ads Free & open source

Drop BMP files here

or browse your files

Files never leave your device. Everything runs in your browser, nothing touches a server — tools you've used even work offline.

Convert BMP bitmaps to PNG entirely in your browser — lossless by default, processed on your device. Same pixels, dramatically fewer bytes: PNG compresses what BMP stores raw, and transparency, where the BMP carries it, survives intact.

How it works

  1. Drop files anywhere on the page, click to browse, or paste with ⌘V.
  2. Pick a quality or preset — or set an exact target size and let the tool find it.
  3. Compress, compare before/after, and download — individually or as a ZIP.

Lossless, unlike BMP to JPG

PNG stores the decoded bitmap exactly, which makes it the right exit for diagrams, pixel art and screenshots with sharp text — everything JPG smears. Photographic BMPs are the exception: BMP to JPG lands them far smaller with no visible cost. If the PNG itself feels heavy afterwards, Compress PNG shrinks it losslessly or via palette reduction.

Frequently asked questions

Is the conversion really lossless?

Yes — at the default quality 100 every pixel is carried over exactly. Lowering the quality slider switches to palette PNGs: much smaller, slightly lossy, often indistinguishable for flat graphics.

How much smaller than BMP?

Typically 5–20× — BMP spends three or four bytes on every pixel regardless of content, while PNG actually compresses. Flat-color screenshots and diagrams shrink the most.

PNG or JPG for my BMPs?

PNG for graphics, text and pixel art — sharp edges stay sharp. JPG for photographic content, where it lands several times smaller again.

Are my files uploaded?

No — the pixels never leave your machine. Decoding and re-encoding both happen in your browser; there is no upload to wait for and no server-side copy to worry about afterwards. Want proof? Run one file through, switch your connection off, and run another — it still works.