BMP is uncompressed — a 1024×768 screenshot weighs 2.3 MB. The same image as JPG: 120 KB. Convert BMP to JPG whenever file size matters more than historical format loyalty.
or drag and drop your image here
Supports BMP
Supports BMP
Drop 24-bit or 32-bit Windows BMP files. Palette-based (1/4/8-bit) BMPs also expand to truecolor during processing.
BMP has no compression to decode — it's raw pixel data. Pixels go straight to JPEG DCT encoder at quality 90. Fast conversion, large savings.
Typical reduction: 90–95% smaller. A 5 MB BMP becomes a 200–300 KB JPG. Filenames preserved with .jpg extension.
Convert images between these related converters
insight-default-reason
BMP has no decode overhead, straight to JPEG encoder
convert entire BMP archives in one drop
Uncompressed 1994 vs perceptually compressed 1992
Microsoft Windows bitmap
By default the BMP format is version 4. Use BMP3 and BMP2 to write versions 3 and 2 respectively. Use -define bmp:ignore-filesize to ignore the filesize check.
Joint Photographic Experts Group JFIF format
Note, JPG is a lossy compression. In addition, you cannot create black and white images with JPG nor can you save transparency. Requires jpegsrc.v8c.tar.gz. You can set quality scaling for luminance and chrominance separately (e.g. -quality 90,70). You can optionally define the DCT method, for example to specify the float method, use -define jpeg:dct-method=float. By default we compute optimal Huffman coding tables. Specify -define jpeg:optimize-coding=false to use the default Huffman tables. Two other options include -define jpeg:block-smoothing and -define jpeg:fancy-upsampling. Set the sampling factor with -define jpeg:sampling-factor. You can size the image with jpeg:size, for example -define jpeg:size=128x128. To restrict the maximum file size, use jpeg:extent, for example -define jpeg:extent=400KB. To define one or more custom quantization tables, use -define jpeg:q-table=filename. These values are multiplied by -quality argument divided by 100.0. To avoid reading a particular associated image profile, use -define profile:skip=name (e.g. profile:skip=ICC).
Format history, size reduction, and edge cases.