pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

Convert PNG to BMP

24-bit or 32-bit · alpha optional · uncompressed · batch · nothing uploaded

Some things only read bitmaps: old Windows utilities, microcontroller display libraries, a few CNC and embroidery packages, the odd game modding tool. Drop your PNGs and get real BMP files back — written byte by byte in your browser, with a choice of 24-bit or 32-bit-with-alpha.

Drop PNGs here

Multiple files allowed

    no files
    Ready.

    Which depth to pick

    24-bit is the safe default for anything old. It writes a classic BITMAPINFOHEADER with BI_RGB, bottom-up rows padded to 4-byte boundaries — the layout every BMP reader ever written understands. There's no alpha channel, so transparent areas are composited onto the flatten colour you choose above.

    32-bit keeps your transparency. It writes a 40-byte BITMAPINFOHEADER with BI_BITFIELDS compression and explicit per-channel masks. That specific combination is deliberate: the newer BITMAPV4HEADER and BITMAPV5HEADER variants declare alpha more formally but macOS refuses to open them at all, while plain BI_RGB at 32 bits leaves the fourth byte officially undefined so readers treat it as padding. The masked BITMAPINFOHEADER opens on Windows, macOS and in browsers. Even so, older software may ignore the alpha channel — if the target renders a black background, fall back to 24-bit.

    Expect large files

    BMP is uncompressed by design: width × height × 3 bytes for 24-bit, × 4 for 32-bit, plus a small header. A 2000×2000 image is about 12 MB at 24-bit and 16 MB at 32-bit regardless of content. That's the format, not the tool. If the size is a problem, the target probably accepts TIFF or plain PNG instead.

    FAQ

    Is the image quality affected?

    No. BMP is lossless and stores raw pixels, so the output matches the PNG exactly — apart from transparency being flattened in 24-bit mode.

    Why is my 32-bit BMP showing a black background?

    The viewer is ignoring the alpha channel and rendering all four bytes as colour. That's a viewer limitation, not a broken file — use 24-bit with a flatten colour for that target.

    Can I get an 8-bit or indexed BMP?

    Not here. If your target needs a small palette, Reduce colors first to see how the image survives quantisation, then convert.

    Does it work with JPG or WebP input?

    Yes — anything your browser can decode is accepted, not just PNG.