BMP to JPG Converter
- Writing the JPG discards picture detail to save space, and what it discards does not come back.
- The Exif data, the colour profile and anything else the original carried are not passed on: the picture is decoded to plain pixels and a new file is written from them.
- Transparent areas are laid onto #FFFFFF, because JPG carries no alpha channel here.
- Reads bitmaps at 1, 4, 8, 16, 24 and 32 bits per pixel, including bitfield ones; refuses RLE-compressed bitmaps and names the kind it found.
Needs JavaScript. Runs only here.
This page turns a BMP into a JPG on your own machine. Every conversion on this page runs in your browser. The picture is read, drawn and written on your own machine, and the file is not sent to a server.
Going the other way? Convert JPG back to BMP →
How do you convert a BMP to a JPG?
A BMP keeps every pixel at full length. A JPG keeps an approximation in far fewer bytes, so converting shrinks the file sharply and gives up some detail to do it.
A BMP converted to JPG shrinks sharply, because JPEG compression discards some of the detail the bitmap stored in full. The quality setting decides how much goes, and any clear areas are filled with a background colour you choose.
- Choose the BMP file you want to convert. It is read inside this page, on your own machine.
- Pick the colour that goes behind any clear areas. Only a bitmap that carries transparency has them; this page starts at #FFFFFF, because the browser's own default would fill them with black.
- Set the quality between 0 and 1. A lower setting writes a smaller file and throws more detail away, and no two browsers read the number the same way.
- Select Convert to JPG. The page reads the first bytes of what came back and refuses the file if they are not JPG.
- Download the JPG. Nothing has been sent anywhere, so the file is ready as soon as it is written.
BMP to JPG shrinks the bitmap and gives up some detail, and the free image converter lists the pairs that keep every pixel instead.
What Changes From BMP to JPG
BMP to JPG applies JPEG compression to pixels the bitmap stored uncompressed, so the file shrinks sharply and detail is discarded according to the quality setting. Any transparency the bitmap carries is filled with a background colour.
Each row below is one property of the picture: what it is in the BMP, what it becomes in the JPG, and whether it survives the trip. Convert a file and the same rows fill in with the measurements from your own picture.
| Property | In the BMP | In the JPG | Verdict |
|---|---|---|---|
| Dimensions | as the file has them | as the file has them | kept |
| Colour model and bit depth | 1, 4 or 8 bits through a palette, or 16, 24 or 32 bits per pixel | Y'CbCr, 8 bits per channel — 8 bits per sample, whatever the source held | changed |
| Alpha channel | usually none; a bitmap with an alpha mask can carry one | none — any clear areas are laid onto #FFFFFF | kept |
| Colours used | up to 16,777,216 | the same pixels | kept |
| Animation frames | 1 | 1 | kept |
| Metadata (Exif, ICC) | present in the file | dropped — a new file is written from pixels | lost |
| Compression | none — the pixel array is stored uncompressed | lossy, discrete cosine transform (the baseline process) | changed |
| File size | the file you chose | usually much smaller — the bitmap stored every pixel uncompressed | changed |
the pixels survive; some of the detail and the Exif data do not.
Going Back to BMP
Converting back does not restore what this step dropped, so convert the JPG result back to BMP only when you need a BMP file.
The change above runs one way — go back from JPG to BMP writes a new file, not the original.
What Travels With the Picture
What the two formats are, and what the browser does with a picture on the way between them. None of this depends on which BMP you bring.
How BMP and JPG Are Defined
| Property | BMP | JPG |
|---|---|---|
| Compression | normally none - the pixel array is stored uncompressed | lossy, discrete cosine transform (the baseline sequential process); the standard also defines a separate lossless mode that web .jpg files do not use |
| Alpha channel | not carried by the files this converter writes; a BMP written from a browser canvas is opaque | none - neither T.81 nor JFIF defines an alpha or transparency channel |
| Animation | none - one image per file | none - one image per file |
| In one sentence | A BMP stores the pixel array with no compression, which is why a bitmap of the same picture is far larger than a PNG or a JPEG of it. | JPEG saves space by throwing detail away. The baseline process, which is what a .jpg file on the web uses, is lossy and cannot be undone, and the standard defines no transparency at all. |
- A BMP file begins 42 4D ("BM"). The header field is the little-endian word 0x4D42..
- A JPG file begins FF D8 (SOI); a JFIF file follows it with FF E0 and the identifier 4A 46 49 46 00.
- BMP is defined by no international standard; Microsoft documents the BITMAPFILEHEADER and BITMAPINFOHEADER structures.
- JPEG is defined by ITU-T Rec. T.81 | ISO/IEC 10918-1 (JPEG); ITU-T Rec. T.871 | ISO/IEC 10918-5 (JFIF).
JPEG and lossy WebP save space by discarding picture detail, and what they discard does not come back. PNG, BMP and lossless WebP keep every pixel they are given, and GIF keeps every pixel it is left with after the palette has been applied.
PNG, GIF, WebP and ICO can carry transparency; JPEG cannot, because the standard defines no alpha channel, and a bitmap written here is opaque. Converting to a format without transparency fills the clear areas with a background colour.
Every save as JPEG compresses the picture again. A JPEG that has been converted and saved once more carries the loss from both steps, and the second one cannot be undone by going back.
Converting a picture back to the format it came from does not return the original file. Whatever a step discarded stays discarded, and the return trip writes a third file.
The browser decodes the picture to plain pixels and writes a new file from them, so the Exif data, the colour profile and anything else the original carried are not passed on.
When a canvas is written to a format that has no alpha channel, the browser lays the picture over opaque black. A converter that wants any other background has to paint it first, and should say which colour it used.
The quality setting applies only to formats that support variable quality, never to PNG, and it has to be a number between 0 and 1. Browsers read it differently, so the same setting does not give the same file everywhere.
This site reads BMP files itself: uncompressed bitmaps at 1, 4, 8, 16, 24 and 32 bits per pixel, and bitfield bitmaps at 16 and 32, stored bottom-up or top-down. It refuses RLE4 and RLE8 run-length compression, a JPEG or PNG stored inside a bitmap, and the 12-byte OS/2 header, and names the one it found.
A bitmap's transparency is read from its alpha mask, unless every pixel's alpha is zero, in which case the picture is read as opaque. The fourth byte of an ordinary 32-bit bitmap is unused in the format, so that picture reads as opaque too.
What Quality Setting Suits a Bitmap?
High for pictures you will print or edit
A setting near the top keeps fine texture, and the JPG is still far smaller than the bitmap was. Start there, and lower it only when the file has to be smaller than that.
Lower for pictures seen only on a screen
A picture that will only be looked at on a screen can take a middle setting before the loss shows. Look at the result at full size before you settle on a number.
Not a JPG at all for screenshots and diagrams
Sharp text and flat colour are what JPEG compression handles worst, and many bitmaps are screenshots. For those a PNG keeps every pixel and still makes the file much smaller than the BMP.
Common Mistakes
- Choosing JPG for a screenshot. Text and flat colour pick up speckles, and a PNG of the same bitmap stays exact.
- Converting the JPG back and expecting the bitmap. The detail JPEG compression dropped does not return.
- Leaving the background to the browser. On a bitmap with clear areas its default is black; this page starts at #FFFFFF and prints the colour it used.
Frequently Asked Questions
Is BMP higher quality than JPEG?
A BMP stores every pixel exactly, so it keeps all of the picture it was given. A JPEG stores an approximation in fewer bytes. The BMP is the more faithful file; it is never a better picture than its source.
How to open .BMP files?
Windows opens one natively, and most image viewers and editors do too. This page reads the common kinds itself, in the browser, and converts them to JPG without installing anything.
What quality setting should a BMP to JPG conversion use?
No one number suits every picture, and browsers read the setting differently. Start high, around 0.9, lower it only if the file must be smaller, and check the result at full size.
What if the BMP uses RLE compression?
Then this page refuses it and says so: RLE4 and RLE8 bitmaps are not decoded here. Open the file in an image editor, save it as an uncompressed bitmap or a PNG, and convert that copy.
You can, but the round trip is not the file you started from: the JPG to BMP direction.
Related Conversions
The rest of the family sits on the full image format grid.