Skip to main content

BMP to WebP converter

Convert BMP images to WEBP format

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

A BMP stores one raw pixel after another with no compression at all, which is why a screenshot saved as a bitmap runs to six megabytes while the same picture as WebP sits under two hundred kilobytes. This page reads the bitmap with the decoder already built into your browser, paints it onto a 2D canvas and asks that canvas for WebP bytes. The trade is roughly a 95 percent size cut on photographic content, paid for with the bit-exact fidelity that made you save a bitmap in the first place.

Key facts about BMP to WebP converter

Key facts about BMP to WebP converter
Compression changeRaw uncompressed bytes in, lossy VP8 out, with no reversible path back to the original bitmap.
Typical size deltaA 1920x1080 24-bit bitmap is exactly 6,220,854 bytes. At the default quality of 90 the WebP usually lands between 150 KB and 400 KB for a photograph, under 60 KB for flat interface art.
TransparencyOrdinary 24-bit bitmaps carry no alpha, so the WebP is opaque. Where a 32-bit bitmap does decode with alpha, WebP keeps it.
Quality controlThe slider covers 30 to 100 in steps of 5 and starts at 90, passed straight to the encoder.
Lossless WebPNot offered. A browser canvas emits only the lossy WebP variant, so a pixel-identical WebP is impossible here.
MetadataThe bitmap header has no EXIF or ICC profile to carry over, and the output is written from fresh canvas pixels, so the WebP has no metadata chunk.
Resize before encodingCapping the long edge at 3840, 2560, 1920, 1280, 800, 480 or 200 pixels happens before the encode, so a scanned bitmap can shed two orders of magnitude.
Opens the resultEvery current browser, Windows Photos, macOS Preview on Ventura and later, GIMP, Affinity and recent Photoshop. Windows 7 era viewers will not.

What happens to your file

The bitmap stays inside this tab. Selecting a file hands it to URL.createObjectURL, an Image element decodes it with the bitmap reader that ships in your browser, and the pixels are drawn into a canvas this page created. The WebP bytes come from canvas.toBlob, the browser's own encoder. Nothing in the conversion path opens a socket, and the page has no upload endpoint to open one against.

About this tool

  1. 1

    Drop the bitmap in

    Drag a .bmp file onto the drop zone or click to browse. Up to 20 files at once, 500 MB per file.

  2. 2

    Set the quality

    Leave the slider at 90 for a near-invisible loss, or drag toward 30 when the source is a UI screenshot.

  3. 3

    Optionally cap the dimensions

    Pick a resize preset if the bitmap came from a scanner at a size no one will view at full zoom.

  4. 4

    Convert and compare

    The side-by-side view lets you check the WebP against the bitmap before committing.

  5. 5

    Download

    One file downloads directly; several are bundled into converted-webp-files.zip in the browser.

Specs & compatibility
Input and outputTakes .bmp only (image/bmp) and returns .webp with the image/webp type; any other extension is refused before decoding.
Conversion pathBMP to WEBP runs in three steps: an <img> element decodes the bitmap, 24-bit and 32-bit variants alike; the pixels land on a 2D canvas in this tab; then canvas.toBlob with the image/webp type returns the finished file.
Browser supportThe bitmap side decodes in every current browser, while writing the WebP works in Chromium browsers and Firefox, and where the type is unsupported the canvas specification makes the browser return PNG bytes under the .webp name.
Controls for this pairA 30 to 100 quality slider (steps of five, default 90) drives the WEBP encode, max-dimension presets from 3840 down to 200 px resize the BMP first, and the strip-metadata toggle is moot on this pair.
Batch, caps and namingTwenty BMP files per run at 500 MB each; one result downloads as a single WEBP, several as converted-webp-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 BMP fails before any WEBP bytes exist.
  • Windows screen captures are flat-coloured, so quality 60 often looks identical to 90 and halves the file again.
  • Quality below about 45 makes text edges fringe with colour, because VP8 subsamples chroma.
  • Keep the bitmap if the file feeds a print or legacy Windows workflow; the change cannot be undone.
  • Batch the whole folder at once, since the ZIP is assembled locally and costs no bandwidth.
  • Reads uncompressed 24-bit and palette bitmaps
  • Quality slider from 30 to 100
  • Seven resize presets applied before encoding
  • Batch of 20 with a locally built ZIP
  • Shrinking legacy Windows application screenshots before putting them in documentation.
  • Preparing bitmaps exported by an old scanner driver for a web gallery.
  • Cutting the weight of bitmap assets pulled out of a game or CAD package.
A 90 to 97 percent reduction is normal for photographic content, because raw pixel bytes are replaced by a lossy codec. A 1920x1080 bitmap is always 6,220,854 bytes and typically yields 150 KB to 400 KB at quality 90; flat artwork often falls under 60 KB.
It keeps whatever the browser decoded. Most .bmp files are 24-bit with no alpha channel, so there is nothing to keep and the WebP is opaque. A 32-bit bitmap with real alpha does survive, since WebP stores alpha natively. For a guaranteed transparent result, start from a PNG source.
No. The canvas exposes only the lossy WebP encoder through canvas.toBlob, so even quality 100 produces lossy VP8 rather than the lossless variant. If bit-exact pixels matter, convert the bitmap to PNG instead, which the same canvas does write losslessly.
Quality 100 means the encoder spends the most bits it will spend, not that it reproduces every pixel. Chroma subsampling and the block transform still apply, so flat colour boundaries can shift by a value or two. Invisible on screen, but a pixel-difference check will not come back clean.
It will be accepted, since the limit is 500 MB, but the real ceiling is the canvas. Browsers cap canvas area, mobile Safari most strictly at roughly sixteen megapixels, so a very large scan can fail to draw. Pick a resize preset if it stalls.
View all

Need the opposite? Try WEBP to BMP

Updated

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