Skip to content
Server-sideDeleted in 30 minutes

Convert BMP to GIF

A BMP stores every pixel at full color depth and pays for it in bytes. GIF stores an index into a palette of at most 256 colors, which is why it collapses a flat diagram and mangles a photograph. This converter builds the palette from the colors your bitmap actually uses, so a screenshot with nine colors keeps all nine and a sunset does not.

Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.

Add to Chrome — free
BMPGIF

Drop your BMP file here, or click to browse

Up to 50 MB. Deleted automatically after 30 minutes.

What it does

  • Palette built from the colors present, not a fixed table
  • At most 256 colors in the output, by the format's own limit
  • Original width and height preserved

How to use BMP to GIF

  1. 1

    Upload the bitmap

    Any ordinary BMP will do. If it is a photograph, expect the result to look banded — that is the format, not the conversion.

  2. 2

    The palette is measured, not assumed

    The image is scanned for the colors it contains and a palette of up to 256 is built to represent them. Fewer colors in means no loss at all.

  3. 3

    Check gradients and skin tones

    These are where 256 colors runs out first. Flat fills, line art and UI screenshots survive; anything smoothly shaded will show steps.

How it works

The bitmap is decoded to a plain raster, then examined for the set of colors it actually contains. A palette of at most 256 entries is built to cover that set, and each pixel is rewritten as an index into the palette rather than as a color of its own. The result is wrapped in a GIF and compressed with LZW.

The measurement step is the part worth understanding. A converter that always mapped onto a fixed 256-color table would damage an image that only ever used nine colors. Building the palette from the image means a screenshot, a logo or a chart with a small number of flat fills comes through with no color change whatsoever.

When BMP to GIF is the right move

Flat artwork is where this conversion earns its keep. Screenshots of interfaces, diagrams, icons, charts with solid fills, and pixel art all use a small number of distinct colors, so the palette holds every one of them and the file drops by an enormous factor while looking identical.

It is also the right move when something downstream simply refuses BMP. GIF is accepted almost everywhere a bitmap is not, and the conversion is cheap.

When it is the wrong move

A photograph, a render, or anything with a gradient will lose color it cannot get back. The banding is not a setting that can be turned off — 256 is the format's ceiling. If the goal is a smaller file from a photographic BMP, JPG or WebP will look far better at the same size. If the goal is a smaller file with no loss at all, PNG does that and keeps the full color depth.

What is not preserved

Color depth beyond the palette, soft alpha, and any embedded color profile. The pixel dimensions are unchanged; nothing is resized on your behalf.

From no compression to a small palette

BMP stores pixels with essentially no compression, which is why the files are so large. GIF compresses losslessly but only holds 256 colors per frame, so the two formats fail in opposite directions.

Converting between them is therefore a large size reduction and a color reduction at the same time. A screenshot, an icon or a diagram — anything built from flat color — usually survives it perfectly, because there were never more than a couple of hundred colors to begin with.

A photograph does not. Reducing millions of colors to 256 produces visible banding and dithering, and PNG is the better target: also lossless, also compressed, with no palette limit at all.

Examples

A nine-color UI screenshot

panel.bmp - 1440x900, 24-bit, 3.9 MB
panel.gif - 1440x900, 9-color palette, 41 KB

Every color fits inside the palette, so nothing is approximated and the file falls by two orders of magnitude. This is the case GIF was designed for.

A photograph that should not be a GIF

beach.bmp - 2000x1500, 24-bit, 9.0 MB
beach.gif - 2000x1500, 256-color palette, 1.1 MB

Smaller, and visibly worse: the sky bands and the sand loses texture. Use PNG for lossless or JPG for a photograph; GIF is the wrong container for this.

Frequently asked questions

Why does my photo look banded after converting BMP to GIF?

Because GIF holds at most 256 distinct colors in the whole image, and a photograph usually contains tens of thousands. The encoder picks the 256 that represent it best and maps everything else onto them, which turns a smooth sky into visible steps. Nothing is wrong with the conversion; the destination format simply cannot carry that much color. Choose PNG if the image must stay exact.

Does the GIF keep the BMP's transparency?

GIF transparency is one bit per pixel: a color is either fully transparent or fully opaque, with nothing in between. A BMP with a 32-bit alpha channel holding soft or partial edges cannot be represented, so semi-transparent pixels are resolved rather than preserved. If the artwork needs feathered edges over a changing background, PNG or WebP is the right target.

Is the GIF always smaller than the BMP?

Almost always, because an uncompressed BMP is one of the largest ways to store an image and GIF applies both palette indexing and LZW compression. The gap is largest on flat artwork and smallest on noisy photographs, where the palette struggles and the compressor finds little to repeat. Measure your own file rather than assuming a ratio.