History Lesson: What Is a .bmp File? The Uncompressed Windows Picture Paint Made Famous
Windows Bitmap — the device-independent bitmap on disk, with a BM signature, bottom-up rows, and files that stay huge because they are usually uncompressed.

TL;DR
A .bmp is a Windows Bitmap — the usual on-disk form of a device-independent bitmap (DIB): a picture layout Windows can move between programs without tying the pixels to one display adapter. Files typically open with a 14-byte BITMAPFILEHEADER whose type field must be 0x4D42 (ASCII “BM”), then a DIB header — most often the 40-byte BITMAPINFOHEADER from the Windows 3.0 era — an optional color table (palette of RGBQUAD entries for indexed images), and the pixel array. Rows are usually bottom-up; 24-bit pixels are often BGR; scan lines pad to four-byte boundaries. Default storage is BI_RGB (uncompressed), which is why BMP files look huge next to JPG or PNG. Optional run-length encoding (RLE — storing runs of identical values instead of every pixel) exists as BI_RLE4 / BI_RLE8 for some 4- and 8-bit images. Earlier 12-byte BITMAPCOREHEADER layouts overlap the Windows 2.0 / OS/2 era; later BITMAPV4HEADER / BITMAPV5HEADER add color-space and profile fields. Microsoft Paint / Paintbrush long made BMP a default save path, so these legacy files still turn up in 2026. Legacy File Converter converts .bmp locally on Windows to JPG, PNG, or PDF — nothing is uploaded.
What is a .bmp file?
A .bmp file is a Windows Bitmap image. Spell the core idea as a device-independent bitmap (DIB): a raster Windows can hand between GDI (Graphics Device Interface) programs without baking in one monitor’s hardware quirks. Microsoft’s Bitmap Storage guidance says bitmaps should be saved in the established bitmap file format with a .bmp extension. On disk that format is a BITMAPFILEHEADER followed by a DIB information header, an optional color table, and the bitmap bits.
In plain language: .bmp is how Windows put a DIB on a floppy, hard drive, or email attachment. The same lineage shows up when apps paste bitmaps via the CF_DIB clipboard format, and when icons or cursors embed related bitmap structures. The everyday search “what is a .bmp file” is usually someone staring at a huge screenshot, an old Paint doodle, or a scanner export that never became a JPG.
BMP ≠ a different photo codec
A .bmp is not “JPEG by another name.” It is Windows’ classic bitmap container — usually uncompressed pixels plus headers — which is why the same photo is often far larger as BMP than as JPG or PNG.
Is a .dib file the same as a .bmp?
This is the confusion Wikipedia compresses into a single acronym line. DIB names the device-independent bitmap concept and in-memory / interchange layout. BMP is the familiar file people double-click, built by prefixing that DIB with a BITMAPFILEHEADER. Microsoft documents the on-disk story under bitmap storage and the BITMAPxxxHEADER structures; community and format references also note a .dib extension used for related DIB payloads.
So: same family, overlapping bytes, different labels. A .dib is not a rival camera format. Renaming .dib to .bmp (or the reverse) only helps when the bytes already match what the receiving app expects — it is not a conversion step the way changing PNG into JPG is. This article stays with the Windows Bitmap story; it does not claim every obscure OS/2 or printer-driver variant as a separate product feature.
Other “BMP” meanings
Outside graphics, “BMP” can mean the Unicode Basic Multilingual Plane, or people use “bitmap” loosely for any raster. A .bmp file on disk is the Windows Bitmap / DIB file format — not those other acronyms.
Why are BMP files so big?
Own the size shock. Open a 1920×1080 screenshot saved as 24-bit BMP and the file is roughly width × height × 3 bytes of color, plus padding and a small header — often several megabytes — because the usual compression field is BI_RGB: uncompressed RGB (or palette indices). Each scan line is padded so its length in bytes is a multiple of four (DWORD-aligned), which adds a little more bulk.
Windows 3.0 (1990) popularized the 40-byte BITMAPINFOHEADER still dominant today and added run-length encoding options BI_RLE8 and BI_RLE4 for 8- and 4-bit-per-pixel images — storing repeated palette indexes as count-and-value pairs instead of every pixel. That helps icons and simple cartoons; it does not turn a modern true-color photo into a small file. Later header versions reserve BI_JPEG / BI_PNG compression values for specific GDI printer paths; they are not how ordinary desktop BMPs magically shrink.
Microsoft Paint cemented the habit. Before Windows 3.0, bundled Microsoft Paint used proprietary monochrome .msp files (PRONOM x-fmt/214). Windows 3.0 replaced that Paint with Paintbrush, which could open MSP but saved as BMP or PCX. For years afterward, Paint’s easy “save the doodle” path kept dumping uncompressed bitmaps onto disks — fine on a hard drive in 2026, painful on a 1.44 MB floppy in the 1990s, and still surprising when a “simple” BMP email attachment dwarfs a JPG.
Uncompressed on purpose
BI_RGB means the pixel array is stored expanded. Large BMP files are usually doing what the format asked — not secretly corrupt JPGs.
How the bytes work: BM, headers, palette, bottom-up rows
Microsoft’s BITMAPFILEHEADER is 14 bytes. The bfType field must be 0x4D42 — the ASCII letters “BM” written little-endian. bfSize is the file size in bytes; bfOffBits is the offset from the start of the file header to the pixel bits. Reserved fields must be zero. Immediately after comes a DIB header, then optionally a color table (a palette: an array of RGBQUAD colors for indexed bit depths), then the bitmap data.
Which DIB header? Microsoft lists four basic types: BITMAPCOREHEADER (12 bytes — the early Windows 2.0 / OS/2-compatible core), BITMAPINFOHEADER (40 bytes — the workhorse since Windows 3.x), BITMAPV4HEADER (color-space / gamma extensions associated with the Windows 95 / Windows NT 4.0 era), and BITMAPV5HEADER (further fields including ICC profile linkage / embedding, associated with Windows 98 / Windows 2000). The information header’s size field tells readers which structure they are looking at. BITMAPINFOHEADER records width, height, planes (1), bits per pixel, compression, image size, resolution in pixels per meter, and palette usage.
Orientation is a classic gotcha. For uncompressed RGB layouts, a positive biHeight means a bottom-up DIB — origin at the lower-left, first stored row at the bottom of the picture. A negative height means top-down (upper-left origin). 24-bit pixels are commonly stored as BGR triplets, not RGB. Indexed 1-, 4-, and 8-bit images consult the palette; higher depths often store color directly. That header-plus-pixels simplicity is why BMP spread everywhere Windows did — and why raw dumps still confuse people who expect rows to start at the top.
BM is the signature, not a brand sticker
Those first two bytes are structural: readers check for BM before trusting the rest of the BITMAPFILEHEADER. Do not confuse that signature with unrelated “BMP” acronyms outside the file format.
Windows, OS/2, and why the format stuck
BMP’s early story sits in the shared Microsoft / IBM era of Windows and OS/2. Format historians note that programmable-palette DIBs lined up across Windows 2.x and OS/2 Presentation Manager; sources disagree on which side “invented” the DIB first. Longtime Microsoft engineer Raymond Chen has written that Windows 2.0 adopted OS/2’s bitmap format to foster interoperability. Charles Petzold and contemporary coverage often describe the DIB as arriving prominently with Windows 3, extending the earlier Presentation Manager bitmap. Hedge the origin myth: what matters for files on disk is that the 12-byte core header and the later 40-byte BITMAPINFOHEADER both left footprints, and Windows 3.0 made the modern BMP the default desktop raster Windows users actually saved.
From there the format stuck because it was built into the platform: Paint/Paintbrush, clipboard CF_DIB, resource bitmaps, driver and screenshot tooling, and countless installers that needed a lossless, simple dump of pixels. JPG won photographs; PNG won web graphics with compression and alpha; BMP remained the blunt instrument — easy to write, easy to corrupt if you ignore padding or row order, and still readable decades later.
Why .bmp files still sit on disks in 2026
In 2026, .bmp legacy files still appear from old Paint folders, scanner defaults, engineering exports, game and UI asset packs, email archives, and “Save as bitmap” habits that never moved to PNG. They are not mysterious: they are Windows’ classic DIB-on-disk layout — often uncompressed, often bottom-up, still opening in Photos and browsers when the headers are ordinary. The pain is size, picky uploaders, and the occasional .dib label that makes people think they found a second format.
Legacy File Converter lists Windows Bitmap / .bmp among supported images on Supported File Types and converts .bmp locally on Windows to JPG, PNG, or PDF — nothing is uploaded. This article stays the history — not a how-to for hex editing headers. For neighboring image-format lessons, see History Lesson: What Is a .jfif File?, History Lesson: What Is a .tga File?, History Lesson: What Is a .wmf File?, and History Lesson: What Is a Multipage .tif File?.
Related reading
Ready to open your old files?
Start free, then unlock unlimited conversions with a one-time $79.95 Standard license. Download the Windows installer — full features for up to 10 files.
Free trial
Full app features · up to 10 files
Windows 10 or 11
Same free trial as always — download the Windows installer and convert locally on your PC.
Direct Windows installer · offline MSI
Is this safe? — publisher, installer, and SmartScreen help
Requires Windows 10 or 11. No subscriptions. 100% Windows Native.