Convert BMP to JPG
BMP (Bitmap) is one of the oldest image formats, dating back to Windows 1.0. It stores pixel data with minimal or no compression, which means BMP files are enormous. A single 1920x1080 photo as BMP takes roughly 5.9 MB. The same image as JPEG takes 200-500 KB.
This tool converts BMP to JPEG in your browser using the Canvas API. The image is decoded, drawn to a canvas, and exported as JPEG at configurable quality. No data leaves your machine.
How It Works
- Drop or select a BMP file
- The browser decodes the bitmap into raw pixel data
- The pixels are drawn onto a Canvas element
- The Canvas exports JPEG data via
toDataURL('image/jpeg', quality) - Download the compressed JPEG
The quality parameter (0 to 1) controls the JPEG compression level. Higher values mean larger files with fewer artifacts. The default of 0.92 is a good balance for most images.
Why BMP Files Are So Large
BMP stores each pixel as raw color values. For a 24-bit BMP (8 bits per channel, 3 channels), every pixel consumes 3 bytes. The math is straightforward:
| Resolution | BMP size (24-bit) | JPEG at quality 85 |
|---|---|---|
| 640 x 480 | 900 KB | 30-80 KB |
| 1280 x 720 | 2.7 MB | 80-200 KB |
| 1920 x 1080 | 5.9 MB | 200-500 KB |
| 3840 x 2160 | 23.7 MB | 800 KB - 2 MB |
Some BMP variants support RLE (run-length encoding) compression, but it is rarely used and offers modest savings compared to JPEG or PNG.
When You Encounter BMP Files
BMP is uncommon on the modern web, but it shows up in specific workflows:
Legacy Windows applications
Older software, particularly enterprise tools, medical imaging viewers, and industrial systems, may export screenshots or captures in BMP format.
Clipboard and screen capture
Windows clipboard operations internally use BMP. Some screen capture tools save uncompressed BMP by default.
Scanner output
Older document scanners and their bundled software sometimes output BMP. Converting scanned photos to JPEG before archiving saves significant storage.
Embedded systems
Some firmware and microcontroller projects use BMP because it requires no decompression algorithm, just raw pixel reading. When extracting these images for documentation or reports, JPEG conversion makes them practical to share.
JPEG Compression for Photographs
JPEG’s lossy compression is designed for photographic content. It works by applying a discrete cosine transform (DCT) to 8x8 pixel blocks, then quantizing the frequency coefficients. High-frequency detail (fine textures, noise) is reduced more aggressively than low-frequency content (broad color areas).
This is why photographs compress well (smooth gradients, natural textures) while screenshots and diagrams compress poorly (sharp pixel-level edges, flat color regions with abrupt boundaries). For non-photographic BMP files, consider BMP to PNG instead.
For embedding converted images in HTML or CSS, see the Base64 Encoder. For other format conversions, return to the Image Converter.