User Rating 0.0
Total Usage 0 times

Drop BMP files here

or click to browse

Quick Test:

Is this tool helpful?

Your feedback helps us improve.

About

BMP files consume excessive storage due to their uncompressed pixel data structure - a 1920×1080 image at 24-bit depth requires approximately 6.2MB, while the equivalent PNG compresses to under 2MB without quality loss. This converter performs genuine pixel-level transformation using the Canvas API, not simple file renaming. Critical distinction: BMP lacks native alpha channel support in most variants, whereas PNG provides full 8-bit transparency per pixel. The tool detects 32-bit BGRA bitmaps and preserves their alpha data during conversion. Processing occurs entirely in your browser - no server uploads, no compression artifacts, no metadata stripping unless the source lacks it.

bmp to png bitmap converter image converter png converter lossless conversion

Formulas

The conversion pipeline maps BMP pixel arrays directly to PNG output through canvas intermediation. Each pixel maintains its RGB values through the transformation.

PNGout = DEFLATE(Filter(Canvas(BMPpixels)))

Where BMPpixels represents the raw BGRA or BGR byte array from the source file. The browser's native image decoder handles BMP header parsing - including BITMAPINFOHEADER and BITMAPV5HEADER variants - then renders to an off-screen canvas. PNG encoding applies predictive row filters (None, Sub, Up, Average, Paeth) before DEFLATE compression.

Sizeratio = W × H × DPNGbytes

Compression ratio depends on image content. Flat-color regions compress efficiently (10× reduction), while photographic content achieves approximately 24× reduction. The D value represents bit depth (3 bytes for RGB, 4 bytes for RGBA).

Reference Data

PropertyBMP (Bitmap)PNG
CompressionNone (RLE optional)DEFLATE (lossless)
Typical File Size510× largerBaseline reference
Alpha Transparency32-bit only (rare)Full support (8-bit)
Color Depth1, 4, 8, 16, 24, 32-bit1, 2, 4, 8, 16-bit per channel
Max Colors16.7 million (24-bit)281 trillion (48-bit)
Web Browser SupportPartial (no <img> in some)Universal
Animation SupportNoAPNG extension
Metadata (EXIF)LimitedFull (tEXt chunks)
InterlacingNoAdam7 interlace
Magic Bytes42 4D (BM)89 50 4E 47
Invented1986 (Microsoft/IBM)1996 (W3C)
Use CaseLegacy Windows appsWeb, icons, screenshots
Lossy VariantNoneNone (use JPEG/WebP)
Patent StatusPatent-freePatent-free
ICC Color ProfileEmbedded (v5)iCCP chunk support

Frequently Asked Questions

No. PNG uses lossless DEFLATE compression, meaning every pixel from the original BMP is preserved exactly. The conversion process reads BMP pixel data, renders it to a canvas at native resolution, then encodes to PNG without resampling or color quantization. Quality loss only occurs if you manually resize during conversion or if the source BMP used palette-based color reduction.
This occurs with small images or those with high entropy (random noise patterns). PNG's DEFLATE compression struggles with non-repeating data. A 100×100 BMP with noise might be 30KB uncompressed but produce a 35KB PNG due to filter metadata overhead. For photographic content exceeding 500×500 pixels, PNG will virtually always be smaller than equivalent BMP.
Yes, provided the source BMP actually contains alpha channel data. Standard 24-bit BMPs have no transparency - they appear opaque regardless of any "transparent" areas you see in editing software. True 32-bit BGRA bitmaps with embedded alpha transfer correctly to PNG RGBA output. Verify your source is 32-bit in file properties before conversion.
The tool supports all browser-decodable BMP formats: Windows 3.x BITMAPINFOHEADER, Windows NT BITMAPV4HEADER, and Windows XP BITMAPV5HEADER. Bit depths from 1-bit monochrome through 32-bit BGRA are handled. OS/2 bitmap variants and RLE-compressed BMPs depend on browser implementation - Chrome and Firefox support most variants, while Safari has limited RLE support.
Yes. Drag multiple files onto the drop zone or select several via the file browser. Processing occurs sequentially to prevent memory exhaustion - each image converts fully before the next begins. Progress indication shows current file number and completion percentage. Downloaded files retain original names with .png extension.
The tool accepts BMP files up to 50MB and images up to 8000×8000 pixels. These limits prevent browser tab crashes from memory exhaustion. A 8000×8000 32-bit image requires approximately 256MB of RAM during canvas rendering. For larger files, consider desktop software like ImageMagick or GIMP which can stream-process without loading the entire image into memory.