Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Bitmap Image File (BMP), Version 5

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Microsoft Windows Bitmap Format (BMP), version 5
Description

BMP is a simple raster graphics image file format designed to store bitmap digital images independently of a display device, originally and primarily on Microsoft Windows and OS/2 operating systems. The format is sometimes known as Device-Independent Bitmap (DIB), since, when loaded into memory using Windows software, the image is held as a DIB structure. Several backwards-compatible versions have been introduced with new versions of Windows. As of late 2011, the current version of BMP is version 5, introduced with Windows 98 in 1998. This description focuses on version 5, but is relevant for earlier versions, since the structure has remained similar for backwards compatibility. The Wikipedia article on BMP has a table describing the differences between versions.

To quote from part 1 of a 1995 article by David Charlap in Dr. Dobbs's Journal, "Unlike other image-file formats like GIF (CompuServe's Graphic Interchange File format) and JPEG (Joint Photographic Experts Group), the BMP file format was not designed to be portable. Instead, it was designed to easily work with the Windows API using the same structures that Windows applications use to manipulate in-memory bitmaps. As the API changed, so did the BMP file format." BMP is used primarily for icons, screen grabs, and other purposes within Windows.

The BMP File Format version 5 is capable of storing 2D digital images of arbitrary width, height, and resolution, both monochrome and color, in various color depths (1, 4, 8, 16, 24, 32, or 64 bits per pixel). Colors may be indexed. Optional features include compression (specific lossless compression algorithms that are fast to decompress), alpha channels, and ICC color profiles. In practice most BMP images are uncompressed, and 16 bpp and 32bpp images are always uncompressed.

The structure of a BMP file incorporates two headers. The first is a 14-byte BITMAPFILEHEADER. This specifies the type of bitmap file, the size of the file, and the position (offset) in the file where the pixel data begins. This header simply permits a check for the file type and for damage. The second header, known in general as a DIB header, supplies technical information needed to render the image, such as bits-per-pixel, image height and width in pixels, compression method. The second header will have a different name, size and different set of elements recorded depending on the version of the specification. These possible header names include BITMAPCOREHEADER, BITMAPINFOHEADER, BITMAPV4HEADER, and BITMAPV5HEADER. The BITMAPINFOHEADER and BITMAPV5HEADER have superseded the BITMAPCOREHEADER and BITMAPV4HEADER. The Later versions of the DIB header added new elements at the end of the header. If an ICC profile is specified, the DIB header provides a pointer to the the beginning of the ICC information. If a color table is used it is at the end of the DIB header. Following the color table, which is mandatory for color depths of 8 or less, comes the image data. Finally, ICC Profile information, either embedded or as a reference by path to another file.

Production phase Used primarily for system-related and ephemeral purposes, such as icons, screen-grabs, and passing of bit-mapped images between Windows applications. Not usually delivered to the public, but occasional instances are found in web pages.
Relationship to other formats
    Has earlier version Versions 2, 3, 4 for Windows, and versions for OS/2, not separately described at this time.

Local use Explanation of format description terms

LC experience or existing holdings LC does not create BMP images in order to reproduce collection items or support collection preservation. Occasional BMP images may, however, be harvested as web-page elements.
LC preference When digitizing collection items or acquiring born-digital pictorial content, the Library of Congress prefers TIFF_6, JPEG 2000, DNG, or JPEG. The Library of Congress Recommended Formats Statement (RFS) includes BMP as a preferred format for photographs in digital form and other graphic images in digital form. The RFS does not specify a version of BMP.

Sustainability factors Explanation of format description terms

Disclosure A proprietary format, introduced and controlled by Microsoft. Documented as part of programmer support for users of Microsoft software development kits.
    Documentation

Microsoft has never published a specification document for BMP. Information about structure and data encoding methods has been included in a number of programmer's references, manuals, online help facilities, and files associated with the Microsoft Windows Software Development Kits (SDKs). However, the format is well understood and has been described in detail at various times in ways that many consider more helpful. Many of these descriptions do not cover the latest version. As of June 2021, Microsoft makes information available through Microsoft Docs. A selected list of documentation sources follows:

Adoption The primary use of the BMP format is within the Windows operating system. The format is acknowledged as being unsuited for general use on the web or interoperability. However, because an uncompressed BMP image has such a simple structure, BMP is well supported in image viewing and manipulation software and as an online image format recognized by web browsers.
    Licensing and patents No concerns.
Transparency A simple raster format. Although compression is supported, most BMP images are not compressed.
Self-documentation No support for embedded metadata. The only information in headers is technical information needed to render the image.
External dependencies None
Technical protection considerations None

Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering A simple raster format. Panning and zooming is straightforward if needed.
Clarity (high image resolution) In principle, BMP images may have up to 64 bits per pixel, with image size limited only by file size. In practice, apart from as an intermediate or ephemeral format within the context of a Windows application, BMP is used primarily for small images in contexts where high-bit depth is not considered necessary.
Color maintenance Since the introduction of version 5, ICC profiles can be recorded in BMP images.
Support for vector graphics, including graphic effects and typography No support for vector graphics or typography.
Support for multispectral bands No support for multi spectral images.
Functionality beyond normal rendering No capabilities beyond normal.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension bmp
In addition to .bmp, a .dib extension is mentioned in some very early documentation, but Microsoft's own 1992 documentation [DIBs and Their Use] states that the file extension of a Windows DIB file is .bmp.
Internet Media Type image/x-bmp
image/x-ms-bmp
From Wikipedia page on BMP
Internet Media Type image/bmp
See registration atIANA.
Magic numbers BM
The bitmap file type is declared in the first two bytes of the BMP file. Within Windows, only "BM" has been used. For OS/2, some other type codes were used: "BA"; "CI"; "IC"; "CP"; "PT"
Pronom PUID fmt/119
See https://www.nationalarchives.gov.uk/PRONOM/fmt/119.
Wikidata Title ID Q27596417
See https://www.wikidata.org/wiki/Q27596417.

Notes Explanation of format description terms

General  
History  

Format specifications Explanation of format description terms


Useful references

URLs

Books, articles, etc.

Last Updated: 04/29/2022