PNG to BMP Converter

Convert PNG images to uncompressed 24-bit BMP files in your browser. Choose the colour that replaces transparency — your files are never uploaded.

  • Free
  • No account
  • Runs in your browser
  • Nothing uploaded
PNG to BMP ConverterNothing uploaded

Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy

What is PNG to BMP Converter?

This tool converts PNG images to BMP (bitmap) files entirely in your browser. People need BMP for one reason above all: a program that only reads bitmaps. Older Windows software, Office templates, label and point-of-sale printers, laboratory and industrial instruments, embroidery and CNC software, and a long tail of internal tools accept a .bmp and refuse anything newer. If that is your situation, this page produces the file those programs expect.

BMP is the oldest common image format and the simplest. It stores raw pixels — three bytes for every pixel, one each for red, green and blue — behind a small header that says how big the image is. There is no compression at all, which is why a BMP is usually much larger than the PNG it came from; the trade is that software written decades ago can still read it.

The part that surprises people is that no browser can *create* a BMP. The canvas API encodes exactly three formats — PNG, JPEG (JPG) and WebP — and BMP is not among them, in any browser. So this tool writes the file itself, byte by byte, following the layout Microsoft documents: a 14-byte file header, a 40-byte information header, then the pixel rows. It produces an uncompressed 24-bit BMP, the variant every viewer, printer and old Windows program opens.

Because a 24-bit BMP has no alpha channel, it cannot store transparency. A see-through PNG — a logo, a product cut-out, a signature — is composited onto a solid colour before it is written: white unless you pick another. Semi-transparent edge pixels blend smoothly onto that colour, exactly as they would if you flattened the image in an editor. The tool tells you when a file may contain transparency and shows the colour control, so nothing lands on white by surprise.

What is kept: the pixels themselves, copied exactly at their original dimensions, with no resampling, no quality setting and no lossy compression. What is not: transparency (flattened onto the background), anything above 8 bits per channel (a 48-bit PNG is reduced to 24-bit colour), metadata such as EXIF, XMP and embedded colour profiles, and animation — an animated PNG (APNG) keeps only its first frame. The file also grows, usually by several times: an uncompressed 24-bit pixel simply takes three bytes, where PNG's deflate compression can take well under one for flat graphics.

Everything happens on your device. Up to 50 PNG files per batch, each up to 50 MB, and images larger than 100 megapixels or 16,384 pixels on a side are refused, because a browser cannot safely hold them. You can confirm nothing is transmitted in the Network tab of your browser's developer tools: no request carries your image.

1. The file's first eight bytes are checked for the PNG signature (89 50 4E 47 0D 0A 1A 0A). A file that is really a JPG, WebP or GIF with a .png name is caught here and named, because the bytes decide — never the extension. 2. The IHDR chunk, which the PNG format requires to come first, gives the width, the height and the colour type. The dimensions let the exact output size be reported before anything is decoded; the colour type (4 or 6 have an alpha channel) plus any tRNS chunk tell the tool whether transparency is even possible. 3. The flatten colour is validated as hex (#fff or #ffffff) and defaults to #ffffff. 4. The browser decodes the PNG. A canvas of the image's exact size is filled with the flatten colour and the PNG is drawn on top, so transparent pixels become that colour and semi-transparent edges blend into it. The pixels are read back with getImageData as 8-bit sRGB. 5. The pixels are encoded as an uncompressed 24-bit BMP. No browser can do this, so the bytes are written here: • BITMAPFILEHEADER, 14 bytes: 42 4D ('BM'), the file size, two reserved words of 0, and the offset of the pixel data (54). • BITMAPINFOHEADER, 40 bytes: header size 40, width, height (positive, meaning the rows are stored bottom-up), planes 1, 24 bits per pixel, compression BI_RGB (0, uncompressed), image size, 2835 pixels per metre, and 0 for colours used and colours important. • Pixel rows, bottom-up: the bottom image row is written first, three bytes per pixel in blue-green-red order, and each row is padded with zero bytes up to a multiple of four. 6. The result is named after the input with a .bmp extension, and the size before and after is shown for each file. File size = 54 + ((width × 3) rounded up to a multiple of four) × height.

PNG vs BMP at a glance
 PNGBMP
CompressionDeflate — lossless and compactNone — raw pixels
TransparencyYes (alpha channel)No in the 24-bit form this tool writes
Colour depth hereUp to 16 bits per channel8 bits per channel (24-bit RGB)
Typical file sizeSmallSeveral times larger, and exactly width × height × 3 bytes plus header
MetadataEXIF, XMP and ICC profilesNot carried over by this converter
Best forWeb, screenshots, logos, anything with transparencySoftware that insists on a bitmap: old Windows tools, instruments, printers

Worked examples

  • swatches.png, a 5 × 3 PNG of solid colour blocks with no transparency → swatches.bmp, exactly 102 bytes: a 54-byte header plus three 16-byte rows, because each row is 15 bytes of pixels (5 × 3) rounded up to a multiple of four. The rows are written bottom-up, so the image's last row comes first, and no background colour is needed because the PNG has no alpha channel.
  • logo.png, a 3 × 2 PNG with one fully transparent pixel → logo.bmp, 78 bytes (54 + two 12-byte rows: 9 bytes of pixels plus 3 bytes of padding). The transparent pixel takes the background colour — #ffffff by default, or #1e40af if you pick it — because a 24-bit BMP has no alpha channel to store transparency in.
  • A 1200 × 800 screenshot → a BMP of 2,880,054 bytes, about 2.75 MB: the 54-byte header plus 800 rows of 3,600 bytes (1200 × 3, already a multiple of four). The file is that size whatever the PNG weighed.
  • photo.png whose bytes are really a JPG → no conversion; the tool answers "photo.png" is actually a JPG file, not PNG. The extension does not match the contents — use a JPG tool for this file. Renaming it to .jpg is all it needs.
  • Screenshot 2026-10-16 at 10.15.00.PNG → Screenshot 2026-10-16 at 10.15.00.bmp: only the final extension is replaced.
  • A background value the browser cannot parse, such as #12345 → "#12345" is not a colour. Use a hex value like #ffffff. — the conversion does not run.
  • cut.png, a PNG whose download was cut short at 12 bytes → "cut.png" is a truncated PNG — the file ends after 12 bytes, but a PNG header needs at least 24 to read the image's size. Download or export the image again.
  • spinner.png, an animated PNG (APNG) → spinner.bmp holding the first frame only, with the result noting that the animation was not kept.
  • A PNG whose header declares 20000 × 20000 pixels → The output would be 20000 × 20000 pixels — more than a browser can safely draw (100 megapixels, 16,384 px per side). Choose a smaller size.

How to use PNG to BMP Converter

  1. Click "Choose PNG images", drop files onto the box, or paste a screenshot with Ctrl+V (Cmd+V on a Mac).
  2. If the tool shows the "Transparent areas" control, pick the colour that should appear where the PNG is see-through. White is the default.
  3. Click "Convert to BMP". Each file is decoded, flattened and written as a 24-bit BMP in your browser.
  4. Check the size figures — a BMP is uncompressed, so it is normally larger — then download each file or all of them as a ZIP.

Common errors

  • "… is actually a JPG file, not PNG. The extension does not match the contents — use a JPG tool for this file." — the bytes are a JPG whatever the name says. Rename it to .jpg, or convert it from JPG instead.
  • "… is not a recognisable PNG file — its contents do not match any image or PDF format. It may be damaged, or a different kind of file renamed." — nothing in the file looks like a PNG. Re-export it, or check which format you actually have.
  • "… is empty (0 bytes). Choose the file again — it may not have finished downloading." — the file never arrived. Get it again and retry.
  • "… is a truncated PNG — the file ends after 12 bytes, but a PNG header needs at least 24 to read the image's size. Download or export the image again." — the upload, export or download was cut off. Re-export from the original tool.
  • "… has the PNG signature but its first chunk is not IHDR, so the image's size cannot be read. The file is damaged; export or download it again." — the header itself is damaged, so the dimensions are unknowable.
  • "… is a PNG with no pixels — its header says 0 × 500. There is nothing to convert; the file is damaged, so export or download it again." — a PNG may not declare a zero dimension. Open it in an image viewer to confirm before converting anything that depends on it.
  • "#12345 is not a colour. Use a hex value like #ffffff." — the flatten colour must be three or six hex digits. #fff, #ffffff and #1e40af are all accepted.
  • "… is 60.00 MB, over the 50.00 MB limit for this tool. Everything runs in your browser's memory, so very large files can crash the tab." — convert such a file at a smaller size first, or use a desktop converter.
  • "The output would be 20000 × 20000 pixels — more than a browser can safely draw (100 megapixels, 16,384 px per side). Choose a smaller size." — the image is too big to decode in a tab. Resize it first.
  • The BMP is bigger than the PNG — that is the format, not the conversion. A 24-bit BMP is uncompressed: three bytes per pixel, plus padding to four bytes per row. Nothing went wrong.
  • The transparent background came out white (or another solid colour) — a 24-bit BMP has no alpha channel, so transparency is composited onto the background colour. Pick a different colour, or keep the PNG when the cut-out must stay see-through.

FAQ

Why is the BMP file so much bigger than the PNG?

Because BMP is uncompressed. Every pixel is stored as three raw bytes — one each for red, green and blue — plus padding that rounds each row up to a multiple of four bytes. PNG compresses its pixels with deflate, which for flat graphics and screenshots can take well under a byte per pixel; that is the whole difference. Nothing was lost in the conversion, and the file is the size the format dictates: for example 2,880,054 bytes for a 1200 × 800 image, whatever the PNG weighed.

What happened to the transparency in my PNG?

It was composited onto a solid colour, because a 24-bit BMP has no alpha channel and therefore nowhere to store transparency. Transparent pixels become the background colour you chose — white by default — and semi-transparent edge pixels blend smoothly onto it. A 32-bit BMP variant can carry an alpha channel, but support for it is uneven, so this tool deliberately writes the 24-bit form that every viewer reads. If the see-through shape matters, keep the PNG or use WebP.

How do I convert PNG to BMP without uploading my files?

Use a converter that runs in the browser, like this one: drop the PNGs here and click "Convert to BMP". The files are decoded, flattened and written on your own device and never sent to a server, which you can confirm in the Network tab of your browser's developer tools — no request carries an image.

Is converting PNG to BMP lossless?

The pixels are: they are copied at their original dimensions with no resampling, no quality setting and no lossy compression, so what you see in the BMP is what was in the PNG. What is lost is everything outside the pixels — transparency (flattened onto a colour), 16-bit-per-channel colour (reduced to 8 bits per channel), metadata such as EXIF and colour profiles, and all but the first frame of an animated PNG.

Which background colour should I choose for a transparent PNG?

Match where the image is going: white for a document or print-out, your brand or page colour for a slide or website, or a colour sampled from the image itself. If the PNG's edges are semi-transparent, the result looks best when the colour is close to what surrounds the image in its final place. The control only appears when a queued PNG may contain transparency.

Can I convert several PNG files to BMP at once?

Yes. Add up to 50 PNG files, each up to 50 MB, and convert them in one run. Each file is written separately: download them one at a time, or all together as a ZIP. Two files with the same name are kept apart — photo.bmp and photo (2).bmp — so nothing is overwritten when you unzip them.

Will the BMP open in Word, Paint, Photoshop or an old Windows program?

It should, yes. The file this tool writes is an uncompressed 24-bit BI_RGB bitmap with bottom-up rows — the same layout Microsoft documents for BITMAPFILEHEADER and BITMAPINFOHEADER, and the variant with the widest support of all BMP flavours. Browsers, Office, image editors, printers and legacy Windows software all read it.

G

Prefer AllUtil on Google

One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.

2× more likely to clickWorks in AI Overviews