PNG to BMP for software that needs bitmaps
Both PNG and BMP are lossless, but they serve different worlds. PNG is the web's lossless format; BMP remains the lowest common denominator for older Windows programs, embedded displays, LED matrix controllers, plotters and some game engines. This PNG to BMP converter produces a clean 24-bit, uncompressed bitmap that those tools can read.
Handling transparency
PNG images often contain transparent or partially transparent pixels, for example around a logo or an icon's anti-aliased edges. The 24-bit BMP format has no alpha channel, and support for 32-bit BMP transparency is inconsistent across programs. The converter therefore composites each pixel onto the background color you select:
- Fully transparent pixels become exactly the background color.
- Semi-transparent edge pixels are blended proportionally, so edges stay smooth against that color.
- Opaque pixels are unchanged.
Pick the color of the screen or surface where the bitmap will be shown. For a black OLED display, choose black; for a document, white. A mismatched background leaves a visible halo around the shape.
File size
PNG compresses losslessly, while this BMP output is uncompressed at three bytes per pixel. Expect the file to grow, sometimes dramatically for simple graphics: a 512 × 512 icon that is 20 KB as PNG becomes about 768 KB as BMP. That is the nature of the format, not a problem with the conversion.
Why not 32-bit BMP with alpha?
The BMP specification does allow 32-bit pixels with an alpha channel, but many programs ignore the alpha byte or interpret it differently, so transparent areas may show up black or garbled. A flattened 24-bit bitmap looks the same in every viewer.
Output details
- 24 bits per pixel, BI_RGB (no compression), bottom-up rows padded to 4-byte boundaries.
- Same width and height as the PNG.
- No embedded color profile or metadata.
Getting the bitmap onto a small display
Microcontroller display libraries are picky about BMP variants, so check what yours accepts before converting a batch:
- Bit depth. This converter writes 24-bit colour. Libraries that only read 16-bit RGB565 or 1-bit monochrome files need a different export.
- Exact size. Resize to the panel's resolution first. A 320 × 240 screen image is 320 × 240 × 3 = 230,400 bytes of pixels plus a 54-byte header; rows of 960 bytes need no padding.
- Upside-down images. The file stores rows bottom-up, as most BMPs do. If a minimal parser shows the picture flipped, it is ignoring the row-order convention, and the flip image tool can compensate before you convert.
Typical uses
- Boot logos and splash screens for embedded Linux devices, routers or 3D printers.
- Images for Arduino, ESP32 and Raspberry Pi display libraries that load BMP from an SD card.
- Custom icons and textures for older games and Windows applications.
- Input for engraving, embroidery or sign-making software that imports bitmaps.
If the device needs a specific resolution, resize first with the image resizer, which can save BMP directly. To go back to a compact format, use BMP to PNG; to turn a photo into a bitmap, try JPG to BMP.
The image is decoded and re-encoded by your own browser using the canvas API. It is never uploaded, so private photos and screenshots stay on your device.