Convert PNG to BMP

A plain 24-bit bitmap for software that will not read anything else.

Drop PNG files hereor click to choose files. Batches welcome.

    Working…

    Done

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    Nobody picks BMP for its size. People need it because something downstream insists: an embroidery or laser-engraving program, a label printer driver, a game mod tool, a BIOS or boot-logo utility, a microcontroller display library, or a line-of-business Windows app written twenty years ago. Most of those expect the most basic variant, an uncompressed 24-bit bitmap, and that is exactly what this page writes.

    BMP has no alpha channel in that variant, so transparent parts of your PNG are painted with the background colour you choose in the options. Pick white for printing and engraving, black for dark-background displays, or the exact colour your target software uses behind the image. The width and height stay the same as the PNG.

    Expect a much larger file: the bitmap stores three bytes per pixel with no compression, so a 1000 by 1000 PNG becomes a 3 MB BMP however simple it looks. The conversion happens in your browser, and the PNG never leaves your device.

    A few targets have their own quirks. Windows boot-logo and BIOS tools typically want a specific size, such as 640 by 480 or the exact screen resolution, so resize the PNG before converting. Embroidery software reads the bitmap as a colour map, so fewer colours make cleaner stitch regions. Arduino and ESP32 display libraries often read a 24-bit BMP from an SD card, row by row, which is precisely the bottom-up layout written here.

    Colour depth is the setting people most often get wrong. A PNG exported from a design tool is usually 32-bit, with an alpha channel. Many BMP readers in embedded and legacy software handle only 24-bit and either refuse a 32-bit bitmap or draw its transparent pixels as black. Writing 24-bit with the transparency flattened onto a colour you picked avoids both problems.

    If your software refuses the file, check what it expects before trying again: some programs want the .bmp extension in capitals, a maximum size, or an 8-bit palette. Those are rare, and the 24-bit output from this page is what almost every BMP reader is built to accept.

    How it works

    1. Drop your PNG files onto the page, or tap to pick them. Batches are fine.
    2. Pick a background colour for any transparent areas, since BMP here is 24-bit with no alpha channel.
    3. Download each BMP, or all of them as one zip.

    In your browser, not on a server

    Stayput first reads the opening bytes of each file, where every image format writes its signature, so it knows what the file really is whatever it is called. Your browser decodes JPG, PNG, WebP, GIF, BMP, AVIF and SVG itself; TIFF goes through UTIF.js, HEIC through the libheif WebAssembly decoder, and JPEG XL (or AVIF, in a browser without native support) through the Squoosh decoders, all served from this site and cached. The browser re-encodes JPG, PNG and WebP; PDF, ICO, GIF, BMP and TIFF files are written by small encoders in the page. Nothing here needs a server.

    Compared with upload-based tools: Online converters upload your image, convert it on their machine, keep it for hours and cap you at a few files a day. This does the same conversion on your device, for as many files as you like, in less time than the upload.

    Verify it yourself. Load this page, turn off Wi-Fi or switch to airplane mode, and run the tool. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    Which kind of BMP does this make?

    An uncompressed 24-bit BMP (BITMAPINFOHEADER, bottom-up rows), the variant with the widest support in old and embedded software. It has no palette and no alpha channel.

    What happens to transparency?

    It is flattened onto the background colour in the options, white by default. If your software needs a particular colour behind a logo, set it before converting.

    Can I convert JPG or WebP to BMP here too?

    Yes, with the [image converter](/tools/convert-image): drop any image and pick BMP as the output format. It writes the same 24-bit bitmap.

    My device needs a 1-bit or 16-bit bitmap. Will this work?

    Not directly. This page writes 24-bit colour. Most tools that need monochrome or 16-bit input can convert from a 24-bit BMP, and reading a 24-bit file is what they are most likely to support.

    Are the images uploaded?

    No. The bitmap is assembled byte by byte in this tab. Nothing is sent over the network.

    More image tools

    Other conversions

    Guides