Initializing... drag & drop files here
Supports: GIF
A GIF is an indexed, LZW-compressed image capped at 256 colours per frame; a BMP is a Windows device-independent bitmap that usually stores pixels raw, with no compression at all. Converting between them is a packaging change, not an upgrade — you get the same picture in the layout that older Windows software, industrial and embedded displays, and some scanning or machine-vision pipelines still expect. Because a BMP holds one image, an animated GIF comes out as a single still frame.
| Property | Value |
|---|---|
| Specification | CompuServe GIF, version 89a (July 1989; spec document dated 31 July 1990) |
| Compression | LZW, lossless within the palette |
| Colour | 8-bit indexed — a palette of up to 256 entries, each a 24-bit RGB value |
| Transparency | One palette slot flagged as the Transparency Index; matching pixels are left undrawn (fully on or fully off, no partial alpha) |
| Animation | Yes — multiple frames, each able to carry its own palette |
| Browser support | Every version of Chrome, Edge, Firefox, Opera and Safari |
| Best for | Short loops, flat-colour graphics, reaction clips |
| Property | Value |
|---|---|
| Specification | Windows device-independent bitmap (DIB); the modern header is BITMAPINFOHEADER |
| Bits per pixel | 1, 4, 8, 16, 24 or 32 |
| Palette rules | 1/4/8-bpp files must carry a colour table of at most 2^bpp entries — so 8-bit tops out at 256 colours; 16/24/32-bpp files normally carry none |
| 16-bpp layout | With the uncompressed BI_RGB compression flag, a 16-bit BMP is always RGB 555 — five bits each of red, green and blue |
| Compression | Usually none (BI_RGB); run-length encoding (RLE) is available for palette images |
| Row layout | Scan lines are padded to a multiple of 4 bytes and stored bottom-up by default |
| Transparency | No alpha in the common BI_RGB form |
| Browser support | Every version of Chrome, Edge, Firefox, Opera and Safari — though Mozilla advises against BMP for web content because of the file sizes |
| Best for | Legacy Windows apps, embedded and instrumentation displays, raw-raster ingest pipelines |
This page exposes three presets, and they are not simply "more or less compression" — each one produces a structurally different bitmap.
| Preset | Pixel format | Compression | Practical effect |
|---|---|---|---|
| High (the default here) | 16 bpp, RGB 555 | None (BI_RGB) | Two bytes per pixel, no palette. The most faithful of the three for a 256-colour GIF and the largest file. |
| Medium | 8 bpp, 256-colour palette | RLE | Floyd–Steinberg dithering into a 256-entry table, metadata stripped, classic BITMAPINFOHEADER ("BMP3") output. Much smaller on flat graphics. |
| Low | 8 bpp, 86-colour palette | RLE | Floyd–Steinberg dithering into a deliberately small table. Smallest output, visible dither texture on gradients. |
There is no separate bit-depth or palette-size control on this page, and no "Specific file size" target either — for BMP output the preset is what sets the pixel format.
.gif onto the page, or click "+ Add Files" to browse for it. Several GIFs can be queued and converted with the same settings in one batch..bmp. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared.No, and it cannot. A GIF has already thrown away everything outside its 256-entry palette, so writing those same pixels into a bitmap adds no colour, sharpness or detail. The one thing that reliably changes is size — the BMP is normally much larger. If you need better quality you need a better source image; no format conversion can restore detail the GIF never stored.
It depends on the preset. On the High preset — the one selected by default here — the encoder is asked for the rgb555le pixel format, and the resulting bitmap header bears that out: biBitCount reads 16 and biCompression reads BI_RGB, which per Microsoft's BITMAPINFOHEADER documentation always means RGB 555. Medium and Low instead write 8-bpp palette bitmaps with run-length encoding.
Because the GIF was LZW-compressed and the default BMP is not compressed at all. At 16 bpp the arithmetic is fixed: two bytes for every pixel, so an 800×600 image occupies 960,000 bytes of pixel data (about 938 KiB) before the 54-byte header, no matter how simple the picture is. A GIF of the same image might be a few tens of kilobytes. If size matters and nothing downstream demands a bitmap, convert to PNG instead — dramatically smaller for the same picture, and it keeps transparency.
A BMP file holds exactly one image, so the animation cannot survive — you get a single still frame rather than the moving sequence. If keeping the motion is the point, convert the GIF to MP4 for a small, widely playable clip, or convert the GIF to APNG to keep every frame in a single animated image file without GIF's 256-colour ceiling.
They stop being transparent. GIF transparency is a single flagged palette index, and a BMP in its common BI_RGB form has no alpha channel to carry it, so those pixels are written as whatever RGB value sat underneath the transparent index in the source file — often white, sometimes black, depending on the program that produced the GIF. This page has no background-colour control to override that. If you need transparency preserved, target PNG; if you need to choose the fill colour explicitly, GIF to JPG has a Background Color option.
Because the other presets have no meaning for a bitmap. Our image presets run from Highest to Lowest for compressed formats where quality maps onto an encoder setting, but BMP has no quality knob — it has a pixel format. Only three of those are wired up for BMP output here (16-bit uncompressed, 256-colour RLE, 86-colour RLE), so only High, Medium and Low appear in the dropdown.
Not for BMP. The "Specific file size" mode is hidden on this page because a raw bitmap's size is determined arithmetically by dimensions and bit depth, not by an encoder that can be nudged toward a target. To make a BMP smaller you have two honest levers: pick the Medium or Low preset to drop to a palette with RLE, or reduce the pixel dimensions under Image resolution. If you want real size control, use a compressed format and the Image Compressor.
PNG, unless something specific demands .bmp. PNG keeps the GIF's transparency and produces a dramatically smaller file for the same picture — and if you want true-colour PNG output with no palette quantisation applied, choose the "Highest" quality preset on the PNG converter. BMP earns its place only when the consumer of the file is fixed — an old Windows application, an embedded panel or instrument, a document-capture or machine-vision tool that reads raw rasters directly. Choose BMP because a system requires it, not because it sounds like the higher-fidelity option.
Yes. Chrome, Edge, Firefox, Opera and Safari all decode BMP, so a converted file will display if you open it locally or link to it. That is not a reason to publish one, though — Mozilla's own image-format guidance warns against BMP on the web precisely because the uncompressed form is so much heavier than PNG or JPEG for the same picture.