WebP to BMP converter

Content last reviewed:

You upload WebP files and download bitmaps written at 24 bits per pixel, with no compression. You know the size of the result in advance, because it follows from the dimensions alone: 1200 by 630 pixels always gives 2,268,054 bytes, which is 2.16 MB. All the work happens in your browser.

Convert and download

Files in queue

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

to

What is WebP, and what is BMP?

WebP is an image format built by Google for the web and announced on 30 September 2010.[1] The file stores the image inside a RIFF container and can do it two ways: lossily, setting part of the colour data aside, or losslessly, keeping the full RGBA record. Since November 2024 the format has an IETF document of its own, RFC 9649, which also sets out its chunks and its limits.[2]

BMP works the other way round and stores the image whole. The file holds a header and, after it, colour values written out pixel by pixel, row by row. The format grew out of OS/2 and reached Windows in 1990 with version 3.0.[3] This converter writes one variant of it, the one read most widely: 24 bits per pixel, one byte each for red, green and blue, a BITMAPINFOHEADER and rows running from the bottom up.

The difference between the two formats shows up most clearly in the file size. The same 1200 by 630 pixel screenshot takes 27.0 KB as a WebP and 2.16 MB as a bitmap, which is 82 times more. That is what a format costs when every program can read the pixels straight out of the bytes.

How do you convert WebP to BMP?

Drag your WebP files onto the Add files box, or click the box and pick the images from your drive. You can add many files at once. Then press Convert.

You can download the finished images one by one with the Download button on the queue row, or all of them at once with Download all. Clear all empties the whole queue, and the Remove label on a row takes a single file out of it. Writing a bitmap has one setting and returns the full image every time, so the whole conversion comes down to adding your files and a single click.

In the queue on the right every file shows its size before and after conversion, together with the difference in percent. Our 1200 by 630 pixel screenshot printed Before: 27.0 KB · After: 2.16 MB (8113% more) there. The same summary for the whole batch sits under the buttons, on the Increased line.

The write is done by our own encoder, built into the page. The reason is technical: the browser canvas writes the image in the format named in the call, and for a format it does not support it hands back a PNG.[4] We checked this on two engines: asked for a BMP, Chromium 151 hands back a PNG carrying the bitmap extension, while Firefox 153 hands back a real BMP file. So we assemble the header and the pixel data ourselves, the same way in every browser.

Your file stays on your device from the first click to the end of the job. Under the converter sits a format switch reading WebP to BMP. Clicking either format opens a list, and picking from it takes you to the page of the converter for that pair. All the pairs in this group are also collected on the Format conversion page.

How big will the finished BMP file be?

You know the size of the finished bitmap before you press Convert. It has nothing to do with what the image shows, or with how much the source file weighed. Only the dimensions count.

The sum has three steps. First you work out one row of the image: every pixel takes three bytes. Then you pad that row with zeros to a full four bytes, because the format specification calls for it; Microsoft documentation gives the formula.[5] Finally you multiply the row length by the number of rows and add 54 bytes of header.

Follow it through on an image of 1920 by 1080 pixels. One row holds 1920 pixels at three bytes each, which is 5760 bytes. That number divides by four, so the padding is zero. There are 1080 rows, so the pixels alone take 6,220,800 bytes. With the header the file weighs 6,220,854 bytes, which is 5.93 MB.

Padding only makes a difference at widths that will not divide by four. An image 1001 pixels wide has a row 3003 bytes long, and it takes 3004 bytes in the file. Over a thousand rows that adds up to one extra kilobyte, which no preview will show you.

How big is the same image as WebP and as BMP?

We prepared the WebP files in lossy mode at 80 percent quality, the setting our converter in the other direction gives by default, then ran them through this one. Sizes are given exactly as the tool counts them: in kilobytes and megabytes of 1024, with the same rounding.
ImageSize in pixelsWebPBMPTimes larger
Camera photo3000 × 20001.74 MB17.2 MB9.9
The same photo at web size1280 × 850358.8 KB3.11 MB8.9
Scan of a book page1200 × 1600310.1 KB5.49 MB18.1
Screenshot of an interface1200 × 63027.0 KB2.16 MB82.1
Graphic made of flat areas800 × 6003.67 KB1.37 MB383.4
Our own measurement of 6 September 2026, taken in a browser on the Chromium 151 engine. The last column shows where the spread comes from: the better WebP handled the image, the bigger the difference once it is written as a bitmap. All five dropped into the queue at once gave 2.42 MB on the way in and the line Increased: 26.9 MB (~1111% more).

How big is a bitmap at common sizes?

You can work these values out yourself from the formula in the section on the size of the finished file, and they come out the same whatever the source file was. The last column gives the length of one row of the image in bytes, the number that already includes the padding to a full four.
Size in pixelsBytesAs the tool reports itRow length
640 × 480921,654900.1 KB1920 B
800 × 6001,440,0541.37 MB2400 B
1200 × 6302,268,0542.16 MB3600 B
1280 × 7202,764,8542.64 MB3840 B
1920 × 10806,220,8545.93 MB5760 B
2560 × 144011,059,25410.5 MB7680 B
3840 × 216024,883,25423.7 MB11,520 B
1001 × 10013,007,0582.87 MB3004 B
The last row shows the padding at work: 1001 pixels at three bytes each give 3003 bytes, and the row takes 3004 bytes in the file. The size column gives the same number the way the tool reports it, in kilobytes and megabytes of 1024.

How does WebP differ from BMP?

Format propertyWebPBMP
CompressionLossy through VP8 or lossless through VP8LNone in the variant this converter writes
Size of a 1920 × 1080 imageDepends on the image content and the quality settingAlways 6,220,854 bytes
Transparency8-bit alpha channel per pixelTransparent areas are laid on white
AnimationYes, frames inside the RIFF containerThe first frame goes into the result
Colour depth8 bits per channel, colour once per group of four pixels in lossy mode24 bits per pixel in this form
Largest image16,383 pixels a side32,767 or 2,147,483,647 pixels a side, depending on the header version
Written straight from the browser canvasChromium and Firefox both doFirefox does; Chromium hands back a PNG instead
OriginGoogle, 30 September 2010OS/2, reached Windows in 1990 with version 3.0
What WebP can do is taken from Google documentation[6] and RFC 9649[2]; what BMP can do comes from Microsoft documentation[5] and the encyclopaedia entry on the format[3]. The size limits of both formats are listed in the MDN image format guide.[7] How the canvas behaves when asked for a bitmap we checked ourselves, on Chromium 151 and Firefox 153.

What does the converter do with a WebP file?

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

  1. Every pixel keeps its colour

    We compared every channel value read out of the WebP file with the values written into the finished bitmap. On a 3000 by 2000 pixel photo that is 18 million values, and all of them came out identical. Writing a BMP keeps the full data, because the format stores the image whole.
  2. The pixel count stays the same

    A 3000 by 2000 pixel photo comes out as a bitmap measuring 3000 by 2000 pixels. We read those values straight out of the header of the finished file. Only the way of storing the image changes; the framing and the resolution are left alone.
  3. Transparent areas are laid on white

    A bitmap in this form carries colour alone, with no opacity value, so transparent areas come out on a white background. Our test file measured 400 by 300 pixels and 74,329 of its points were fully transparent. All of them left the converter white, and the opaque pixels kept their colour.
  4. From an animated file it takes the first frame

    WebP can carry animation, while a bitmap describes a single image. Our test file measured 400 by 400 pixels, held twelve frames and weighed 36.5 KB. The finished bitmap with the first frame of the animation took 468.8 KB.
  5. The result is written in full colour

    The header of the finished file gives 24 bits per pixel and a zero in the compression field, which is the BI_RGB form. That is the 16.7 million shade range carried by the most common variant of the bitmap.
  6. The write takes a fraction of a second

    The encoder runs on your own computer, so the time depends on its power. In our measurement a 3000 by 2000 pixel photo was written in 0.52 seconds. An 800 by 600 pixel graphic was ready in 29 milliseconds. All five images went through the queue in 0.77 seconds, and the bar above the buttons shows how many files are done.
  7. Up to 100 MB per file

    That is what the converter takes from a single WebP file. Anything larger brings up the message File is too large (max 100 MB). The direction of the change matters here: a 5 MB WebP can produce a bitmap running to several hundred megabytes, because the size of the result is set by the dimensions of the image.
  8. The file stays on your device

    The page code loads the image in your browser, draws it on a canvas and assembles the bitmap from there. Nothing goes to a server, and once you close the tab the files are gone from the browser memory.

When does a file have to be a bitmap?

  1. A program or a device reads bitmaps only

    A bitmap needs no decoder: after the header come the values of one pixel after another, and Microsoft documentation describes the layout of the file.[5] When the program or the device you work with opens this format and no other, a file from this converter goes in with nothing in between.
  2. You are writing code that reads pixels itself

    When you are learning computer graphics or building your own image tool, a bitmap saves you the whole decoding layer. The header is 54 bytes, and after it come the colour values in blue, green, red order.
  3. The image is going back to a website

    On a website the file size is what counts, and the MDN guide recommends packed formats there.[7] When the image has to go back on a page, the BMP to WebP converter prepares it.
  4. The image has to keep a transparent background

    A logo with the background cut out and an interface icon lose their transparency when written to this form of bitmap. When the background has to stay empty, the WebP to PNG converter handles the same file, because PNG carries an alpha channel.
  5. The file is going by e-mail or onto a shared drive

    A bitmap sent by e-mail takes many times more room than the same image in a lossy format and runs into the attachment limit quickly. A lighter file at the same dimensions comes from the WebP to JPG converter.
  6. The image has to go into a document

    For sending and for printing, one PDF is often easier than separate images. The WebP to PDF converter builds it, one image per page.

Convert other files to BMP

Convert WebP to other formats

Sources

  1. WebPWikipedia
  2. WebP Image Format (RFC 9649)IETF
  3. BMP file formatWikipedia
  4. HTMLCanvasElement: toBlob() methodMDN Web Docs
  5. BITMAPINFOHEADER (wingdi.h)Microsoft Learn
  6. WebP frequently asked questionsGoogle for Developers
  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 converting WebP to BMP

Why is the file so many times larger after conversion?

A bitmap writes the full colour value at every pixel, while WebP writes predictions and the differences against them. That is where the whole gap comes from. A 1200 by 630 pixel screenshot took 27.0 KB as a WebP and 2.16 MB as a bitmap for us, which is 82 times more. On a camera photo the same gap came to 9.9 times, because a photo is harder to pack in the first place.

Exactly how big will my file be?

You can work it out from the dimensions alone. Multiply the width by three, round up to a full four bytes, multiply by the height and add 54 bytes of header. An image of 1920 by 1080 pixels comes to 6,220,854 bytes that way, which is 5.93 MB. Ready values for eight common resolutions are collected in the table of bitmap sizes.

Will converting WebP to BMP cost me quality?

Writing the bitmap itself keeps the full data, and we checked that by measurement: all 18 million channel values of a 3000 by 2000 pixel photo came out identical. The result does depend on where the image came from. A WebP written lossily already carries less colour data than the original, and the bitmap reproduces exactly what is left in it.

What happens to a transparent background?

The bitmap variant this converter writes has 24 bits per pixel and carries colour alone, so transparent areas come out white. Our test file measured 400 by 300 pixels, held 74,329 fully transparent points, and all of them came out white. When the background has to stay transparent, the WebP to PNG converter writes the same image.

What about an animated WebP file?

The first frame of the animation goes into the bitmap, because BMP describes a single image. Our test file measured 400 by 400 pixels, held twelve frames and weighed 36.5 KB. The finished bitmap took 468.8 KB and shows the first frame. When the motion has to survive, reach for the WebP to GIF converter.

Why does the converter have its own BMP encoder?

The browser canvas writes the image in the format named in the call, and for a format it does not support it hands back a PNG.[4] We checked this on two engines: asked to write a bitmap, Chromium 151 handed back a PNG, while Firefox 153 handed back a real BMP file. Our own encoder gives the same result in every browser.

Which BMP variant do I get out?

Always the same one: 24 bits per pixel, a 40-byte BITMAPINFOHEADER, the compression field set to zero, rows running from the bottom up, and a resolution of 96 dots per inch written into the header. That variant opens in every program that reads bitmaps at all.

How many files can I convert at once?

You can add as many files to the queue as you like; the tool works through them in order and shows the progress above the buttons. Five images weighing 2.42 MB together went through the queue in 0.77 seconds for us and produced 29.3 MB of bitmaps. A single source file may weigh up to 100 MB, and the total number of files depends on the memory of your device.

Arteon free tool screenshot: WebP to BMP 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.

Take a look at our other 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.