BMP Format Guide: Uncompressed Windows Bitmaps & Legacy Engineering Workflows
A practical reference for BMP: why this 30-year-old uncompressed format still matters for CAD, embedded systems, and legacy Windows software — and when to convert BMP to a modern format for web delivery.

Quick Answer: BMP in Plain English
BMP stores raw pixels with no compression — every pixel is exactly what you captured. Files are huge but pixel-perfect.
✓ Best For
- Legacy Windows software that only reads BMP
- CAD and engineering tools
- Embedded display hardware
- When you need exact bit-level pixel data
✗ Not Great For
- Web delivery (files are 20–50× larger than JPG)
- Email attachments (too large)
- Any modern workflow (use PNG or WebP instead)
💻 Works On
Windows natively. Most image editors read BMP. Web browsers support it but rarely use it.
What is BMP? The Windows Bitmap Format
BMP (Bitmap) is Microsoft's native raster image format, introduced with Windows 1.0 in 1985. BMP stores raw uncompressed pixel values with a small file header — no entropy coding, no quantization, no compression. The result is exact bit-level pixel reproduction at the cost of large file sizes: a 2000×2000 pixel 32-bit BMP is roughly 16 MB.
Modern web delivery almost never uses BMP — file sizes are too large for practical web work. BMP remains relevant for legacy Windows software, CAD engineering tools, embedded display hardware (industrial screens, point-of-sale displays, kiosks), and any workflow that needs exact bit-level pixel reproduction without any encoder/decoder interpretation.
Uncompressed Pixel Storage: Why BMP Files Are So Large
BMP stores pixels as raw RGB or RGBA values in row-major order, with a 54-byte file header. A 1000×1000 pixel 32-bit BMP is exactly 4 MB (4 bytes per pixel × 1,000,000 pixels). There is no compression to apply — every pixel is written to disk as-is. BMP supports RLE (run-length encoding) for 8-bit palette BMPs, but most BMPs in the wild are 24-bit or 32-bit uncompressed.
For the same 1000×1000 image, WebP lossy at quality 80% produces a roughly 80–200 KB file; JPEG at quality 80% produces a roughly 100–250 KB file; BMP produces exactly 4 MB. The BMP is 20–50× larger than the modern alternatives. Use BMP only when your target application requires it — typically legacy Windows software, embedded display hardware, or specific CAD engineering workflows.
24-Bit vs 32-Bit BMP & Alpha Channel Support
BMP comes in three common variants: 24-bit (RGB, no alpha, 3 bytes per pixel), 32-bit (RGBA with alpha, 4 bytes per pixel), and 8-bit (indexed palette, 1 byte per pixel with a 256-color palette table). 32-bit BMP can carry an alpha channel, but support is inconsistent across software — most Windows legacy apps treat BMP as fully opaque and ignore the alpha bits.
If alpha transparency is required for your workflow, use PNG, WebP, or AVIF instead of BMP — all of which have first-class, universally supported alpha channels. Use BMP only when your target application explicitly requires it and you do not need transparency, or when the application documents support for 32-bit BMP alpha specifically.
BMP vs GIF vs PNG: The Windows Format Legacy
In the 1990s Windows ecosystem, BMP was the universal image format — every Windows application read and wrote BMP natively. The format has been superseded for general use by PNG (lossless compression with full alpha), JPEG (lossy compression for photographs), and WebP/AVIF (modern web delivery). BMP remains only in legacy Windows applications and embedded hardware that has not been updated for decades.
For modern workflows, convert BMP to PNG (lossless, smaller file, full alpha), WebP (smaller, web delivery), or AVIF (smallest, modern web). The in-browser BMP converter handles all three output formats. The original BMP file can be archived or deleted — the converted file is byte-identical in pixel content but dramatically smaller.
BMP vs PNG vs JPG: When to Use BMP Today
Use BMP today in three narrow cases: (1) legacy Windows software that only reads .bmp files, (2) embedded display hardware (industrial screens, POS terminals, kiosks) where the firmware expects raw uncompressed pixels, (3) CAD engineering tools (AutoCAD, SolidWorks) that consume BMP for texture maps or background images. In every other case, use PNG, WebP, or JPG.
For web delivery, never ship BMP — file sizes are too large. Convert BMP sources to WebP or AVIF (for modern browsers) and JPEG (for legacy fallback). The <picture> element with multiple sources handles browser negotiation automatically.
BMP Headers, Color Tables & Compression Modes
BMP files start with a 14-byte file header (BM signature, file size, reserved, pixel data offset) followed by a 40-byte info header (BITMAPINFOHEADER) or extended header (BITMAPV4HEADER, BITMAPV5HEADER for ICC color profiles and alpha channels). For 8-bit BMPs, a 256-color palette table follows the info header. For 24-bit and 32-bit BMPs, the pixel data starts immediately after the headers.
BMP supports three compression modes: BI_RGB (no compression, the default), BI_RLE8 (run-length encoding for 8-bit palette BMPs, ~30–50% reduction), BI_RLE4 (run-length encoding for 4-bit palette BMPs). BI_BITFIELDS (uncompressed with explicit color masks) and BI_JPEG/BI_PNG (embedded JPEG or PNG) are rare extensions that most software does not support. The default BI_RGB BMP is the most compatible — every Windows app reads it natively.
BMP & Core Web Vitals: Why You Should Never Ship BMP
BMP files are too large for web delivery. A 2000×2000 pixel BMP is 16 MB; on a 4G mobile connection, downloading that file takes 20+ seconds — blowing the Largest Contentful Paint budget by an order of magnitude. PageSpeed Insights flags any BMP asset as a critical optimization target.
The fix is simple: convert BMP sources to WebP or AVIF before web delivery. The pixel data is preserved exactly (lossless conversion); the file size drops by 95%+ (16 MB BMP to ~200 KB WebP at equivalent visual quality on a normal display). For legacy browser fallback, ship JPG as the third <source> tag — universal support, slightly larger than WebP but still 50× smaller than the BMP.
BMP Conversion Strategies: Color Depth & Compression
When converting BMP to PNG, the pixel data is preserved exactly — both formats are lossless. The PNG output is typically 50–80% smaller than the BMP source because PNG applies Deflate compression to the redundant byte patterns. When converting BMP to JPG or WebP (lossy), choose quality 80–85% for the universal sweet spot — visually identical to the BMP on most screens at 90%+ file size reduction.
For 8-bit palette BMPs (256 colors), converting to PNG-8 preserves the indexed palette exactly. Converting to PNG-24 or PNG-32 expands to true color with no visible quality change — the file size grows slightly because PNG-24/32 stores more bits per pixel. For most workflows, BMP → PNG-24 or BMP → WebP lossless is the right choice.
BMP Security & Privacy: Less Risk Than JPEG, Still Not Zero
BMP files are pure pixel data with minimal metadata (file size, dimensions, color depth) — they do not carry EXIF, GPS, or camera metadata like JPEG and HEIC files. The privacy risk from uploading a BMP to a cloud converter is lower than uploading a personal photo, but the image content itself is still exposed. For sensitive engineering drawings, medical imaging, or proprietary CAD textures, in-browser conversion is the safer choice.
CloudImageConverter uses in-browser WebAssembly codecs for BMP decoding and re-encoding. The bytes never leave the device; the server only delivers the WASM modules once. For organizations subject to ITAR, HIPAA, or similar data-residency rules, in-browser BMP conversion is the only fully compliant workflow.
Browser-Based BMP Conversion: WASM Codecs in a Worker Pool
BMP decoding is straightforward — modern browsers parse the format natively. For BMP → PNG conversion, the in-browser pipeline decodes the BMP into a pixel buffer, then encodes the buffer as PNG using the libpng WASM module. For BMP → WebP, the pipeline uses libwebp WASM. For BMP → AVIF, libavif WASM. All conversions run on the user's CPU; the bytes never leave the device.
For a 16 MB BMP, decoding takes 50–100 ms on modern hardware. Re-encoding as WebP takes another 100–200 ms. Total wall-clock time: under 300 ms for a 16 MB source file, with zero network round-trips. For batch conversion of 100+ BMPs, the worker pool parallelizes across 2–4 cores, finishing the batch in 5–15 seconds.
Related BMP Conversion Tools
Ready to Work with BMP?
Jump straight to the tool you need — convert BMP to another format, compress BMP files for smaller sizes, or edit BMP images (resize, crop, watermark, add text).
BMP Task Guides
Learn how to convert, compress, and edit BMP files with our dedicated task guides.
BMP Frequently Asked Questions
Common questions about BMP format — when to use it, how it works, and how to convert it.
BMPWhat is BMP and when should I use it?+
BMP (Windows Bitmap) is an uncompressed image format that stores raw pixel values with no compression — every pixel is exactly what you captured. Files are huge (a 2000×2000 pixel BMP is 16 MB) but pixel-perfect. Use BMP only when your target application explicitly requires the .bmp format — typically legacy Windows software, CAD engineering tools (AutoCAD, SolidWorks), embedded display hardware (industrial screens, POS terminals, kiosks), or any workflow that needs exact bit-level pixel reproduction. For everyday use, convert BMP to PNG (lossless, smaller, full alpha), WebP (smaller, web delivery), or AVIF (smallest, modern web) — all are dramatically smaller at the same visual quality.
BMPWhy are BMP files so large?+
BMP stores raw uncompressed RGB or RGBA pixel values — no entropy coding, no quantization, no compression. The file size is exactly width × height × bytes-per-pixel plus a small 54-byte header. A 2000×2000 pixel 32-bit BMP is exactly 16 MB (4 bytes per pixel × 4 million pixels). For the same image, WebP lossy at quality 80% produces a roughly 80–200 KB file; JPEG at quality 80% produces a roughly 100–250 KB file; PNG with Deflate compression produces a roughly 500 KB file. BMP is 20–50× larger than modern alternatives. Use BMP only when your target application (legacy Windows software, CAD tools, embedded hardware) explicitly requires the .bmp format.
BMPDoes BMP support transparent backgrounds?+
32-bit BMP can carry an 8-bit alpha channel, but support is inconsistent across software — most Windows legacy apps treat BMP as fully opaque and ignore the alpha bits. Modern image editors (Photoshop, GIMP, Affinity Photo) read 32-bit BMP alpha correctly, but most legacy Windows applications do not. If transparency is required for your workflow, use PNG (full 32-bit alpha, universal browser and editor support), WebP (8-bit alpha in both lossy and lossless modes, modern browser support), or AVIF (8-bit alpha with 10-bit color, modern browser support) instead of BMP — all of which have first-class, universally supported alpha channels.
BMPHow do I convert BMP to JPG?+
Use the CloudImageConverter BMP to JPG tool — drop your BMP files, pick JPG as the output, set quality to 80–85% for the universal sweet spot, and download the converted JPG files. The result is typically 90–98% smaller than the source BMP with no visible quality loss on a normal display. All conversion runs in your browser using the MozJPEG WebAssembly codec, so your BMP files never leave your device. For batch conversion, drop up to 100 BMP files and download them all as a single ZIP archive of JPG files. This is the standard workflow for migrating large BMP archives from legacy Windows systems to modern, smaller formats.
BMPCan I open BMP files on Mac or Linux?+
Yes. BMP is a widely supported format — every modern operating system (macOS, Linux, ChromeOS, iOS, Android) reads BMP files natively in the default image viewer. Every modern image editor (Photoshop, GIMP, Affinity Photo, Paint.NET, Pixlr) reads and writes BMP. Every web browser (Chrome, Firefox, Safari, Edge) renders BMP inline in <img> tags. So BMP files open on every device — the issue isn't compatibility, it's file size. BMP files are 20–50× larger than modern alternatives (WebP, AVIF, JPG) at the same visual quality, so converting BMP to a modern format is the right move for any non-legacy workflow.
BMPShould I convert BMP to PNG or JPG?+
It depends on the content. If your BMP is a photograph, convert to JPG (quality 80–85%) — the file size drops 90%+ with no visible quality loss on a normal display. If your BMP is a logo, UI graphic, or screenshot with sharp text, convert to PNG — PNG preserves every pixel exactly (like BMP) but compresses the file 50–80% smaller with Deflate encoding. For modern web delivery, convert to WebP (lossless for graphics, lossy for photos) — WebP produces 70–90% smaller files than BMP at the same visual quality, with full 8-bit alpha transparency preserved if needed. The CloudImageConverter handles all three conversions in your browser.