BMP to GIF converter

Content last reviewed:

You add BMP files and download finished GIF images. The weight drops several times over: our 3000 by 2000 pixel photo went into the converter as 17.2 MB and came out as 2.52 MB. All of the work happens inside your browser.

Convert and download

Files in queue

Add BMP files on the left to start converting to GIF.

to

What is BMP and what is GIF?

BMP stores an image the way a screen sees it: as a grid of dots, where every dot gets its own place in the file and its own colour value. The format was created for OS/2, was later adopted by Windows and stayed there for good.[1] The variant you meet most often gives each dot 24 bits, which is one byte for red, one for green and one for blue. That kind of record can name 16.7 million shades and it keeps every one of them separately.

GIF approaches colour in a completely different way. The format works from a list of colours settled in advance, and next to each pixel it stores only the position number from that list. The list is called a palette and it holds up to 256 positions, because the number takes eight bits.[2] On top of that comes LZW compression, which looks for repeating runs of those numbers and writes each run as a single code.

The specification that W3C still publishes today carries the marking 89a and the date 31 July 1990.[3] That version added the transparency index and the delays between frames that let the format show animation. The format itself came from CompuServe three years earlier, in 1987.[2]

How do you turn a BMP into a GIF?

Drag your BMP files onto the Add files area, or click that area and point to the images on your drive. You can put many files into the queue at once. Then press the Convert button.

You can download the finished images one at a time with the Download button next to a queue row, or all together with the Download all button. The Clear all button empties the whole queue, and the Remove label next to a row takes a single file out of it.

In the queue on the right, every file shows its weight before and after the conversion together with the difference as a percentage. For our 3000 by 2000 pixel photo that row read Before: 17.2 MB · After: 2.52 MB (85% less). The same summary for the whole batch sits under the buttons, in the Saved line.

The writing itself is done by gifenc, a GIF encoder written in JavaScript and run on your own computer.[4] Browsers have read GIFs since their first versions, and writing one from a canvas is still beyond them: on 5 September 2026 we checked Chromium 151 and Firefox 153, and each of them returned a PNG file for that request. The MDN documentation describes this behaviour openly — for a format the browser does not know, you get a PNG and no warning at all.[5]

Our encoder writes the GIF regardless of the browser, and the image stays on your device from the first click to the end of the work. Under the converter sits a format switcher labelled BMP to GIF. Clicking either of the two formats opens a list, and a choice from it takes you to the converter page that handles that pair. We have also gathered every pair from this group on the Format conversion subcategory page.

Why does a GIF weigh less than a BMP?

The weight of a BMP file can be worked out in advance, and the result does not depend on what the picture shows. Every pixel takes three bytes, and every row of the image is padded with zeros up to a full four bytes; the Microsoft documentation gives a ready formula for this.[6] On top of that come 54 bytes of header.

Let us follow that through on a photo measuring 3000 by 2000 pixels. One row holds 3000 pixels at three bytes each, which is 9,000 bytes. At that width there is nothing to pad. There are 2,000 rows, so the pixels alone take 18,000,000 bytes. Together with the header the file weighs 18,000,054 bytes, which is 17.2 MB in the notation the summary inside the tool uses.

GIF saves room in two ways at once. The first is the palette itself: one number takes the place of three bytes per pixel, so the image immediately loses two thirds of its weight. The second is LZW compression, which walks through those numbers and writes repeating runs as a single code. The larger the flat areas in an image, the longer those runs are and the harder the compression works.

Our 3000 by 2000 pixel photo came out of the converter as a file weighing 2.52 MB. The Saved line then appears under the buttons, with the number of megabytes and the percentage the file went down by. When the same image has to keep all of its shades, the BMP to PNG converter will prepare it.

How much does the same image weigh in BMP and in GIF?

We prepared the BMP files in the most common variant, which is 24-bit and uncompressed, and then ran them through this converter. We give the weights exactly the way the tool counts them: in kilobytes and megabytes of 1024, with the same rounding.
ImageSize in pixelsBMPGIFHow much less
Photo from a camera3000 × 200017.2 MB2.52 MB85%
Photo for a website1280 × 8503.11 MB540.5 KB83%
Scan of a book page1200 × 16005.49 MB983.2 KB83%
Screenshot of an interface1200 × 6302.16 MB37.0 KB98%
Graphic made of flat areas800 × 6001.37 MB7.28 KB99%
Our own measurement from 5 September 2026, carried out in a browser built on the Chromium engine. All five together in the queue gave 29.3 MB on the input and the line Saved: 25.3 MB (~86% less). Your result depends on what the image contains: the more flat areas it has, the smaller the GIF comes out.

How many colours are left after the file is written as a GIF?

The same set of images, this time from the colour side. The first column says how many different colours the BMP file held, the second how many positions the palette received in the finished GIF, and the third how many pixels kept their colour to within a single unit.
ImageColours in the BMP filePositions in the GIF palettePixels with an unchanged colourLargest difference on a channel
Photo from a camera785,2162560.1%31 out of 255
Photo for a website323,5252560.1%30 out of 255
Scan of a book page43,4002561.1%13 out of 255
Screenshot of an interface5,20825640.2%24 out of 255
Graphic made of flat areas1936499.9%8 out of 255
Our own measurement from 5 September 2026. The last row shows the border at which the conversion stops changing anything in colour: the graphic held 193 shades, the palette fitted them into 64 positions, and 99.9% of the pixels left the converter with exactly the same shade. With a camera photo the encoder picks the 256 colours that describe the whole frame best and gives every pixel the nearest one of them, so the transitions across a sky or across skin settle into wider bands.

How does BMP differ from GIF?

Format propertyBMPGIF
CompressionNone in the most common variant, optionally lossless RLELossless LZW, applied to the numbers from the palette
Colours in a single imageUp to 16.7 million in the 24-bit recordUp to 256, one per palette position
Colour depthfrom 1 to 32 bits per pixel8 bits per pixel, as a position number
TransparencyAn alpha channel in selected header variantsOne palette position marked as transparent
AnimationNoYes, as further frames each with its own delay
OriginOS/2, and it entered Windows in 1990 with version 3.0CompuServe, 1987
From which browser version they are readfrom the first versions of Chrome, Firefox, Safari and Edgefrom the first versions of Chrome, Firefox, Safari and Edge
We give the capabilities of BMP after the Microsoft documentation[6] and the encyclopaedia entry on that format[1], and the capabilities of GIF after its specification[3] and the entry on that format[2]. Browser support is described by the MDN guide, which lists both formats as read by every browser.[7]

What does the converter do with a BMP file?

Seven things worth knowing before you drop a larger batch of images into the queue.

  1. It reads three BMP variants

    We checked them one by one: 24-bit with rows from the bottom, 24-bit with rows from the top and 8-bit with a palette. All three carried the same image and all three produced an identical output file weighing 835 bytes.
  2. The pixel count stays the same

    An image of 800 by 600 pixels comes out as a GIF measuring 800 by 600 pixels. We read those values straight from the header of the finished file. Only the way colour is recorded changes, while the framing and the resolution stay untouched.
  3. The palette is built separately for each image

    The encoder goes through every pixel and picks up to 256 colours that describe that particular frame best. An image with fewer colours receives a shorter palette: our graphic made of flat areas fitted into 64 positions.
  4. The result is written as a single frame

    A BMP file carries one image, so the finished GIF also receives one frame. The header of the file carries the marking GIF89a, the same version of the format that every browser reads.
  5. Writing takes a fraction of a second

    The encoder runs on your own computer, so the time depends on its power. In our measurement the 3000 by 2000 pixel photo was written in 0.62 seconds. The 800 by 600 pixel graphic was ready in 0.02 seconds. All five images went through the queue in 3.4 seconds, and the bar above the buttons shows how many files are already done.
  6. A single file of up to 100 MB

    That is what the converter accepts from one file. For anything larger it shows the message File is too large (max 100 MB). An uncompressed BMP of roughly 5900 by 5900 pixels fits inside that limit.
  7. Very large images are fitted to the canvas

    The browser canvas holds 16,384 pixels per side and around 268 million pixels in total. An image larger than that limit is scaled down proportionally by the tool, so that all of it fits into the result.

When should you pick GIF and when another format?

  1. The image has flat areas of colour

    Icons, diagrams, bar charts and interface screenshots hold a few hundred shades, so they fit into the palette with room to spare. This is where GIF does best: our screenshot went from 2.16 MB down to 37.0 KB.
  2. A photo has to keep its full range of shades

    A photograph carries hundreds of thousands of colours, while the palette holds 256 positions. When faithful tonal transitions matter to you, reach for the BMP to JPG converter.
  3. The image is going onto a website

    Here what counts is the file weight with the quality kept. The MDN guide advises reaching for PNG with still images, and for newer formats when larger savings matter.[7] Those files will be prepared by the BMP to WebP converter and the BMP to AVIF converter.
  4. The image has to keep a transparent background

    Transparency is kept in the result together with the alpha channel, and PNG carries that channel in every variant of its record. The BMP to PNG converter will make such a file for you, writing the image losslessly and keeping the full 16.7 million shades.
  5. A scan is going by email or to an office

    A scanned page is easier to send as a PDF than as an image. The BMP to PDF converter will make one: it lays every image on a separate A4 page, matching the orientation to the proportions of the photo.

Convert other files to GIF

Convert BMP to other formats

Sources

  1. BMP file formatWikipedia
  2. GIFWikipedia
  3. Graphics Interchange Format, version 89aW3C
  4. gifenc, a GIF encoder for the browserMatt DesLauriers
  5. HTMLCanvasElement: toBlob() methodMDN Web Docs
  6. Bitmap StorageMicrosoft Learn
  7. Image file type and format guideMDN Web Docs

The file sizes in the tables were measured by running finished images through this converter in a browser, and we report them the way the tool counts them. What the page says about either format rests on the sources listed above.

Content last reviewed: · written and checked by the Arteon team

Common questions about turning BMP into GIF

Will I lose quality when I convert BMP to GIF?

It depends on how many colours the source file holds. A graphic with at most 256 colours passes into the palette in full — our graphic made of flat areas held 193 shades and 99.9% of its pixels left the converter with an unchanged colour. The camera photo held 785,216 different shades while the palette fits 256 positions, so every pixel receives the nearest available shade. The largest difference on a single channel came to 31 points out of 255 in our measurement.

Do my files reach a server?

No. The image is loaded by the page code inside your browser, drawn onto a canvas (the Canvas API) and passed from there to the gifenc encoder, which also runs locally. The file stays on your device for the whole time you work, and once you close the tab it disappears from the browser memory.

Why does GIF have 256 colours?

It follows from the build of the format itself. Next to a pixel, GIF stores the position number from the palette, and that number takes eight bits, so it holds values from 0 to 255.[3] Each palette position describes a full RGB colour, so the encoder picks those 256 shades from the whole range of 16.7 million.

What happens to transparency from a 32-bit BMP?

A 32-bit record with a BITMAPINFOHEADER is read by the browser as fully opaque — we checked this on our own test file, in which every pixel came off the canvas with an opacity of 255. When a file has to keep a transparent background, the BMP to PNG converter will prepare it, because PNG carries the alpha channel in every variant of its record.

How many files can I convert at once?

You can add as many files to the queue as you like, and the tool works through them one by one while showing the progress above the buttons. Five images weighing 29.3 MB in total went through our queue in 3.4 seconds. A single file may weigh up to 100 MB, and the total number of files depends on the memory of your device.

Will the finished GIF be animated?

A BMP file carries one image, so the result receives one frame and looks like an ordinary picture. Animation in the GIF format is built from several frames written one after another, each with its own delay.[3]

What decides the weight of the finished GIF?

The content of the image decides it. LZW compression writes repeating runs of pixels as a single code, so it works hardest on flat areas. A camera photo holds few of those repetitions and went down by 85% in our measurement, while the graphic made of flat areas went down by 99%.

I have a GIF file and I need an ordinary image from it. What should I do?

Use the GIF to PNG converter. You will get a file written losslessly, with the full range of 16.7 million shades, that every graphics program will open.

Arteon free tool screenshot: BMP to GIF converter

Help us improve our tools

Got an idea for a new feature, found a bug or want to suggest another tool? Write to us – we reply within 24 hours.

Try our other useful tools

JPG to WebP

JPG to WebP

Convert JPG photos to lightweight WebP. Cut image weight by up to 35%.

Online image editor

Online image editor

Resize, crop and convert your image. Ready-made formats for social media, circular avatars, export to JPG/PNG/WebP.

Meta title & description checker

Meta title & description checker

Check title and description length in pixels. Live Google preview and optimization tips.

PNG to JPG

PNG to JPG

Convert PNG files to JPG in your browser. No file limits, no signup, no server uploads.

Favicon generator

Favicon generator

Create a complete favicon.ico set for your website from one image. All required sizes, no login.

Color palette generator

Color palette generator

Generate 9 palettes from one color: monochromatic, complementary, triadic and more. HEX codes.

WebP to JPG

WebP to JPG

Convert WebP files to universally compatible JPG. Works in every app and platform.

Color contrast checker

Color contrast checker

Check text and background contrast per WCAG 2.1 AA and AAA. Automatic color correction.

Free QR code generator

Free QR code generator

Create a QR code for a website, vCard business card or print. Export PNG and SVG, no registration.

Word & character counter

Word & character counter

Count words, characters, sentences and reading time. Check readability with the Flesch-Kincaid score.