What is a BMP File? Complete Format Guide — History, Structure & Size

What is a BMP file? BMP (Bitmap) is a raster image format created by Microsoft for Windows in 1987. It stores pixel data with no compression — a 1920×1080 BMP at 24-bit color is always exactly 5.93 MB, regardless of what the image shows. BMP files use the .bmp or .dib extension. Today, converting BMP to PNG gives you a pixel-identical file that is 5–15× smaller.

BMP is one of the oldest image formats still in common use. It was designed in an era before compression was practical, so its structure is brutally simple: header metadata, then every pixel's color stored as raw bytes, row by row. That simplicity is both its strength (no compatibility issues, no encoding decisions) and its massive weakness (enormous file sizes that haven't been justified since the mid-1990s).

What Does BMP Stand For?

BMP stands for Bitmap. The full technical name is Device Independent Bitmap (DIB). The "Device Independent" part was meaningful at launch in 1987: color values are stored in a way that doesn't depend on any specific display's color capabilities, so the same file renders correctly across different hardware. The DIB format was a significant improvement over earlier display-device-specific formats.

BMP files use two extensions: .bmp (most common) and .dib (Device Independent Bitmap — the more technically accurate name, rarely seen today).

1987
Year BMP was introduced with Windows 1.0 and OS/2
5.93 MB
Size of a 1920×1080 24-bit BMP — always, no exceptions
0%
Compression in a standard BMP — every pixel stored raw
5–15×
Size reduction when converting BMP to PNG (same quality)

A Brief History of BMP

Microsoft introduced the BMP format alongside Windows 1.0 in 1987, designed to be the native image format for the Windows operating system. It was also adopted by OS/2. At the time, most image storage used device-specific formats that only worked on the hardware they were created for — BMP solved this with a device-independent specification.

Through the late 1980s and early 1990s, BMP was the dominant image format on Windows. Windows Paint saved BMP by default. Windows wallpapers were BMP files. System icons were BMP. The format worked perfectly for its era — hard drives were small, images were small, and the lack of compression didn't matter much for 320×200 pixel images.

By the mid-1990s, JPEG (1992) and PNG (1996) had made BMP obsolete for almost all practical purposes. JPEG compressed photographs to a fraction of the BMP size. PNG offered lossless compression with full transparency. BMP never evolved — it remained the same uncompressed format while better alternatives proliferated.

Today, BMP persists mainly in legacy contexts: old scanning software, certain game engines, some CAD tools, and Windows system internals. New BMP files are created almost exclusively by software that hasn't been updated in decades.

How BMP Stores Image Data

Understanding BMP's storage model explains exactly why files are so large and why conversion to PNG or JPEG is so beneficial.

  • No compression by default: Each pixel's color is stored as raw bytes — no entropy coding, no run-length encoding (RLE is supported but almost never used), no DCT, nothing.
  • Bottom-to-top row order: Unusually, BMP stores image rows starting from the bottom of the image and going up. This is the opposite of nearly every other image format. Most decoders handle this transparently, but it's the reason BMP images occasionally appear upside-down in buggy software.
  • Row padding to 4-byte boundaries: Each row of pixel data is padded with zero bytes to ensure its length is a multiple of 4 (a DWORD boundary). A 100-pixel-wide 24-bit image has rows of 300 bytes (100×3), padded to 300 bytes (already a multiple of 4). A 101-pixel-wide image has rows of 303 bytes, padded to 304 bytes. This adds a small overhead for odd-width images.
  • True RGB values: 24-bit BMP stores colors as exactly 3 bytes per pixel in Blue-Green-Red order (not RGB — another legacy quirk from Windows' little-endian convention).

The BMP File Size Formula

Unlike PNG or JPEG, where file size depends on image content, BMP file size is deterministic. You can calculate it exactly from dimensions and color depth:

File size = ( ⌈ (width × bits_per_pixel) / 32 ⌉ × 4 ) × height + header_size
For 24-bit color (most common): file size ≈ width × height × 3 + 54 bytes
The 54 bytes = 14-byte file header + 40-byte DIB header
ResolutionColor DepthBMP SizePNG EquivalentJPEG (Q85) Equivalent
800×60024-bit1.37 MB50–300 KB40–150 KB
1920×108024-bit5.93 MB300 KB–2 MB200 KB–1 MB
3840×2160 (4K)24-bit23.7 MB1–5 MB600 KB–3 MB
1920×108032-bit7.91 MB300 KB–2 MBN/A (no alpha)
640×4808-bit301 KB10–100 KB15–80 KB

Notice that BMP size is a fixed value for a given resolution and color depth. PNG and JPEG sizes are ranges — they depend on image content (photographs compress less than flat-color graphics in PNG; JPEG quality affects size dramatically).

BMP Color Depths Explained

BMP supports six color depths. Each stores a different number of colors and produces different file sizes:

Bit DepthColorsBytes/PixelUsed ForHas Color Table?
1-bit2 (monochrome)0.125Black & white text, faxYes (2 entries)
4-bit160.5Legacy EGA displaysYes (16 entries)
8-bit2561Simple graphics, iconsYes (256 entries)
16-bit32,768 or 65,5362High-color displaysNo
24-bit16,777,216 (true color)3Standard photographs, all modern useNo
32-bit16.7M + alpha4Transparency (inconsistent support)No

24-bit is by far the most common BMP you'll encounter in practice. 8-bit BMP uses a color table (palette) — a lookup table of up to 256 colors stored between the header and pixel data. Each pixel then stores an index into that table rather than a full RGB value.

BMP File Structure — What's Inside the Header

Every BMP file begins with a 14-byte file header followed by a DIB (Device Independent Bitmap) header. The most common DIB header is the BITMAPINFOHEADER, which is 40 bytes long. Together, that's 54 bytes of header before the first pixel.

The first two bytes of every valid BMP are 0x42 0x4D — the ASCII characters "BM". This signature is how software identifies a BMP file without relying on the extension.

Offset 042 4DSignature "BM" — identifies this as a BMP file
Offset 2xx xx xx xxTotal file size in bytes (little-endian 32-bit)
Offset 600 00 00 00Reserved — always zero in standard BMP
Offset 10xx xx xx xxPixel data offset — where the image data starts
Offset 1428 00 00 00DIB header size = 40 (BITMAPINFOHEADER)
Offset 18xx xx xx xxImage width in pixels (signed 32-bit)
Offset 22xx xx xx xxImage height in pixels (positive = bottom-up)
Offset 2601 00Color planes — always 1
Offset 2818 00Bits per pixel — 24 (0x18) for true color
Offset 3000 00 00 00Compression method — 0 = BI_RGB (no compression)
Offset 34xx xx xx xxRaw pixel data size (can be 0 for BI_RGB)

BMP vs PNG vs JPEG vs WebP vs TIFF

Here is how BMP compares to the formats that replaced it:

PropertyBMPPNGJPEGWebPTIFF
CompressionNoneLosslessLossyLossy or losslessLossless or lossy
File size (photo)LargestMediumSmallestSmallestLarge
Quality lossNoneNoneYes (lossy)OptionalNone (lossless mode)
TransparencyNo (24-bit)Full alphaNoFull alphaFull alpha
Metadata/EXIFNoneLimitedFull EXIFEXIF + XMPFull EXIF
Browser supportPoor/slowUniversalUniversalAll modernNone
Best forLegacy onlyGraphics, webPhotos, webWeb imagesPrint, archival

Convert Your BMP Files — Free, Lossless, Instant

PNG gives you the same pixel-perfect quality at 5–15× smaller file size. No upload needed — runs in your browser.

Who Still Uses BMP Today?

BMP is essentially obsolete for new work, but it persists in specific legacy contexts:

  • Windows Paint (older versions): Windows XP and earlier versions of Paint defaulted to saving BMP. Users who haven't changed the save format still produce BMP files from this tool. Windows 10+ Paint now defaults to PNG.
  • Legacy scanning software: Flatbed scanners and all-in-one printers from the 2000s often ship with scanning software that only supports BMP as its native format. The hardware is still functional; the software hasn't been updated.
  • Some game engines and tools: Early game development tools used BMP for spritesheets and textures. Some retro game engines and modding tools still read/write BMP natively.
  • CAD and technical software: Certain engineering applications export screenshots and diagrams as BMP. Many industrial CAD packages have not updated their export functionality in years.
  • Windows system internals: Some Windows resources and system images historically used BMP. This has largely been phased out in modern Windows versions.
  • Archival collections: Organizations that digitized documents in the 1990s and 2000s may have large BMP archives — converting these to PNG is one of the most straightforward format migrations possible.
Bottom line: If you are creating new image files today, there is almost no reason to use BMP. PNG is lossless like BMP but 5–15× smaller. Use PNG for logos and graphics, JPEG for photographs, WebP for web pages.

BMP Pros and Cons

Advantages

  • Lossless — every pixel stored exactly
  • Simple structure — easy to implement in software
  • No encoding decisions required
  • Native Windows format — opens without drivers
  • No patent or licensing issues
  • Deterministic file size

Disadvantages

  • Enormous file sizes with no benefit over PNG
  • No transparency in 24-bit (most common variant)
  • No EXIF or metadata support
  • No color profile embedding
  • Slow to display in browsers
  • Rarely accepted by modern web apps and CMSs
  • No multi-page or animation support

How to Open BMP Files

Opening BMP files is straightforward on all major platforms. On Windows: double-click opens it in Photos. Windows Paint also opens BMP natively. On Mac: double-click opens it in Preview. Online: drag any BMP file into a Chrome, Firefox, or Edge tab — browsers render BMP without plugins. For the full guide with all methods including mobile and command-line, see our How to Open BMP Files guide.

How to Convert BMP Files

The most common conversions and the fastest way to do each:

Frequently Asked Questions

What is a BMP file?
BMP (Bitmap) is a raster image format created by Microsoft for Windows in 1987. It stores every pixel's color data as raw bytes with no compression. A 1920×1080 BMP at 24-bit color is always exactly 5.93 MB regardless of image content. BMP files use the .bmp or .dib extension and are natively supported on Windows.
What does BMP stand for?
BMP stands for Bitmap. The full technical name is Device Independent Bitmap (DIB). "Device Independent" means the stored color values don't depend on any specific display's characteristics — the same file renders correctly on any monitor.
Why are BMP files so large?
BMP files store every pixel as raw color bytes with no compression. File size is calculated exactly as width × height × (bits per pixel ÷ 8). The image content does not matter at all — a blank white image and a complex photograph at the same resolution produce identical file sizes. Compare this to PNG, which applies lossless DEFLATE compression and produces files 5–15× smaller.
Is BMP lossless?
Yes. BMP stores pixels with no lossy compression — every color value is preserved exactly. Converting BMP to PNG (also lossless) produces a pixel-perfect copy with zero quality change. This contrasts with JPEG, which permanently discards detail to achieve smaller file sizes.
Does BMP support transparency?
Standard 24-bit BMP files have no transparency. 32-bit BMP technically includes an alpha channel, but software support is inconsistent — many apps that claim BMP support ignore the alpha data entirely. For reliable transparency, use PNG (lossless, full alpha) or WebP (lossless or lossy, full alpha).
Is BMP better than PNG?
No. PNG is strictly superior to BMP for every practical use case. Both are lossless — pixel data is preserved exactly. But PNG uses DEFLATE compression and produces files 5–15× smaller than BMP. PNG also supports full transparency, has universal browser support, and is accepted by every modern web app and CMS. The only scenario where BMP has an edge is legacy software compatibility on Windows.
Is BMP the same as JPEG?
No — they're fundamentally different. BMP is lossless with no compression (huge files). JPEG is lossy with high compression (small files). A 1920×1080 BMP is always 5.93 MB; the same image as JPEG at 85% quality is typically 200–500 KB. JPEG also introduces compression artifacts — subtle visual degradation — that BMP never does. See our full BMP vs JPEG comparison.
Can I open BMP files in Photoshop?
Yes. Photoshop opens BMP files natively — File → Open → select the BMP. When saving back as BMP, Photoshop offers the color depth options (8-bit, 16-bit, 24-bit, 32-bit) and the option to flip row order. GIMP (free) also opens BMP files on all platforms.
How do I convert BMP to PNG for free?
Use Convertlo's free BMP to PNG converter — no upload, no account, runs in your browser in under a second. The output PNG is pixel-for-pixel identical to the BMP and typically 5–15× smaller. Windows Paint can also do this: open the BMP, then File → Save As → PNG.