What is a BMP image?
Short answer
BMP is the Windows bitmap format: a file header, a DIB header (BITMAPINFOHEADER or a later version), an optional palette, then pixel rows padded to 4 bytes, usually stored from the bottom row up.
Readers often assume 24-bit, bottom-up rows. A negative height (top-down), a BITMAPV4 header with bit masks, or a palette image catches those assumptions.
Anatomy of a BMP image
BMSignature, file size and pixel data offsetBITMAPINFOHEADER40 bytes: size, bit depth, compressionBITMAPV4HEADER108 bytes: adds RGBA bit maskspalette256 entries for 8-bit imagesrowsBGR(A), padded to 4 bytes, bottom-up unless height is negative
What you can generate
- 24-bit BGR
- 32-bit BGRA with a BITMAPV4 alpha mask
- 8-bit grayscale palette
- Top-down rows (negative height)
- Odd widths that need row padding
How to make one
- Open the BMP image generator, or start from a preset above.
- Set the size and switch on the edge cases you need; the preview and size estimate follow every change.
- Generate, then download. The file is made in your browser, and the same preset and seed always give you the same file.
Questions
Yes. BMP is uncompressed, so the size shown in step 2 is the exact size of the file.
The classic 40-byte header has no alpha mask, so many readers ignore the fourth byte. BITMAPV4 declares it.