Skip to main content

GIF to BMP converter

Convert GIF images to BMP format

No watermarkFree & unlimited
All processing happens in your browser. No data is sent to any server.

People usually reach for this because a specific piece of Windows software demands a bitmap. It is worth knowing what you are trading. The GIF frame is written as a plain 24-bit BMP with no compression, so the file grows enormously, and the alpha channel is thrown away with a specific consequence: transparent areas become black, not white, because the writer reads raw canvas bytes and cleared pixels are zero in every channel. Animation is gone too, since only the frame the browser renders is captured.

Key facts about GIF to BMP converter

Key facts about GIF to BMP converter
Bitmap variant writtenA 54-byte header pair, 24 bits per pixel, no compression flag, rows stored bottom-up in BGR order and padded to a four-byte boundary.
Transparent pixels become blackNot white. The writer copies red, green and blue straight out of getImageData, and a fully transparent canvas pixel reads back as zero everywhere.
Size explosionA 500x500 GIF of 40 KB becomes exactly 750,054 bytes, roughly nineteen times larger, because every pixel now costs three uncompressed bytes.
Exact size formula54 bytes plus the padded row size times the height. A 1920x1080 frame is always 6,220,854 bytes whatever it depicts.
ColourNothing is gained. The source had at most 256 distinct colours and the bitmap stores 24-bit values, describing more colours than the picture contains.
FramesOne. The Image element is drawn to the canvas a single time, capturing the opening frame with no option to select another.
Resolution fieldBoth axes are written as 2835 pixels per metre, that is 72 dots per inch, regardless of anything in the source.
Opens the resultWindows Paint and Photos, Visual Studio resource editors, old Delphi and Visual Basic tooling, GIMP, Photoshop and ImageMagick.

What happens to your file

The bitmap is written in your browser, not on a server. Your GIF goes into an object URL, the browser's GIF decoder produces the frame inside an Image element, and it is drawn into a canvas this page created. The page then calls getImageData and walks the array backwards row by row, writing BGR triples into an ArrayBuffer through a DataView along with the fifty-four header bytes. No file is posted anywhere.

About this tool

  1. 1

    Add the GIF

    Drag a .gif file in or browse for one. Twenty files per run, each up to 500 MB.

  2. 2

    Watch for transparency

    If the preview checkerboard shows through, those areas will be solid black; flatten the image onto a background first.

  3. 3

    Consider resizing

    With no compression, the pixel count is the file size, so capping the long edge is your only lever.

  4. 4

    Convert and download

    Press Convert, then save the .bmp or take converted-bmp-files.zip, which compresses well given the payload is raw.

Specs & compatibility
Input and outputTakes .gif only (image/gif) and returns .bmp with the image/bmp type; any other extension is refused before decoding.
Conversion pathGIF to BMP runs in three steps: an <img> element decodes the GIF and only its first frame reaches the canvas; the pixels land on a 2D canvas in this tab; then getImageData feeds a 24-bit BI_RGB writer that assembles the file in page memory.
Browser supportThe GIF side decodes in every browser ever shipped, while writing the BMP needs nothing from the browser, the bytes being assembled in the page.
Controls for this pairNo quality slider, BMP not being a lossy target here, so the max-dimension presets from 3840 down to 200 px are the only way to hold the BMP down in size against the GIF.
Batch, caps and namingTwenty GIF files per run at 500 MB each; one result downloads as a single BMP, several as converted-bmp-files.zip, zipped by JSZip 3.10 in page memory.
Device ceilingThe canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized GIF fails before any BMP bytes exist.
  • Zip the bitmaps before sending them; uncompressed pixel data usually shrinks by eighty percent or more in an archive.
  • If the target program accepts PNG, use that instead: lossless too, transparency kept, a fraction of the size.
  • To avoid black fringes, composite the GIF over the background colour you want before converting.
  • A 24-bit bitmap cannot store alpha at all, so no setting here will give you a transparent .bmp.
  • Uncompressed 24-bit BGR bitmap output
  • Bottom-up rows with four-byte padding
  • Header written with DataView in the page
  • Twenty GIFs per run with a local ZIP
  • Supplying artwork to a legacy Windows application or installer that only loads .bmp resources.
  • Feeding an embedded or microcontroller toolchain whose importer expects raw bitmap data.
  • Preparing an image for an old Visual Basic or Delphi form that reads bitmaps only.
The bitmap writer takes only the red, green and blue bytes from each canvas pixel and ignores alpha. A pixel the GIF marked transparent arrives as zero in all four channels, and zero RGB is black. Unlike the JPG path, which fills the canvas with white first, this one applies no matte.
Substantially. A 500 by 500 frame is 750,054 bytes as a bitmap no matter what it shows, because the format stores three raw bytes per pixel plus a header and row padding. A typical 40 KB GIF of that size grows about nineteen times, and flat art suffers most.
No. The writer always produces 24 bits per pixel with no colour table. That is a shame for GIF sources specifically, since a palette bitmap would hold the same picture in roughly a third of the space. ImageMagick or an image editor lets you choose the bit depth.
No. There is no lossy codec in this path, so every colour value the browser decoded is written unchanged. The losses are structural: the alpha channel, the animation frames and the palette organisation, none of which a 24-bit bitmap can represent.
The writer hard-codes 2835 pixels per metre into both resolution fields, which is 72 dots per inch, and GIF has no resolution metadata to carry over anyway. If a print workflow needs another value, set it in the application that opens the bitmap; the pixels are unaffected.
View all

Need the opposite? Try BMP to GIF

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy