Skip to content
Back to Blog
How-To

How to Convert BMP to WebP: 5 Free Methods in 2026

Jordan Webb·April 28, 20268 min read

Why Convert BMP to WebP?

BMP (Bitmap Image File) is the oldest mainstream image format still in active use. Created by Microsoft in the 1980s, BMP stores raw, uncompressed pixel data — making it one of the largest, most storage-inefficient formats available. A single 1920×1080 screenshot saved as BMP weighs around 6 MB. An exported diagram or legacy software graphic can run even larger.

WebP is the modern alternative designed specifically for the web. Developed by Google and now supported by all major browsers, WebP delivers dramatically smaller files without sacrificing visible quality. Converting BMP to WebP is the single biggest file size improvement you can make for images headed to a website, email, or any platform where storage and loading speed matter.

How much smaller? A typical 6 MB BMP screenshot becomes 200–600 KB as WebP — a 90–97% reduction. Even lossless WebP (which preserves every pixel exactly like PNG) produces files 75–80% smaller than BMP. No other conversion from BMP achieves this level of reduction.

Converting BMP to WebP makes sense when you need:

  • Maximum file size reduction: BMP to WebP delivers 90–97% smaller files — far more efficient than BMP to JPG (70–80%) or BMP to PNG (60–80%).
  • Web delivery without quality compromise: WebP's lossy mode at quality 80–90 is visually indistinguishable from PNG while being a fraction of the size.
  • Google PageSpeed compliance: Google Lighthouse flags BMP images and recommends serving next-generation formats. WebP directly resolves this Core Web Vitals warning.
  • Transparency support: WebP supports a full alpha channel, just like PNG. If your BMP graphic needs transparency, BMP to WebP preserves it. BMP to JPG destroys it.
  • Modern web compatibility: WebP has 97%+ global browser support as of 2026. It is the preferred delivery format for images on the web.
  • If you are converting BMP files for archiving, editing, or use in design tools, BMP to PNG is the better choice — PNG keeps every pixel intact and has universal software support. But if the images are destined for a website, app, or anywhere that file size matters, WebP is the right target.

    For more on choosing the right format for web images, see our best image format for websites guide.

    Lossless vs Lossy WebP: Which Should You Choose?

    WebP is unique among common web formats because it supports both lossless and lossy compression. When converting from BMP, this is a real decision with significant consequences:

    Lossless WebP

  • Preserves every pixel exactly from the BMP source
  • No compression artifacts, no color shifts, identical quality to original
  • Typical result: 75–80% smaller than BMP
  • Best for: screenshots, UI graphics, diagrams, logos, text-heavy images
  • Trade-off: larger than lossy WebP
  • Lossy WebP

  • Discards some image data using perceptual compression
  • At quality 85–90, the difference from the original is invisible to the human eye
  • Typical result: 90–97% smaller than BMP
  • Best for: photographs, complex images, any image where size is the priority
  • Trade-off: irreversible — save your original BMP if you may need lossless again
  • Practical recommendation:

    Image typeRecommended modeQuality setting
    Screenshots, UI, diagramsLossless
    PhotographyLossy85–90
    Print exports for web displayLossy85
    Images for editing laterLossless
    Product images (e-commerce)Lossy80–85

    For most BMP files — which are typically screenshots, legacy software exports, or scanned documents — lossless WebP is the safest choice. You get 75–80% smaller files with zero quality loss.

    Method 1: Convert BMP to WebP in Your Browser (No Upload Required)

    The fastest, most private method is a browser-based converter that processes your files entirely on your device. PhotoFormatLab's BMP to WebP converter uses WebAssembly to convert BMP files locally — your images never leave your computer.

    Step-by-step:

  • Open photoformatlab.com/bmp-to-webp in your browser
  • Drag and drop your BMP files onto the drop zone, or click to select files
  • Multiple files can be selected for batch conversion
  • Click Convert — processing happens instantly in your browser
  • Download individual WebP files or click Download as ZIP for all files
  • Why browser-based conversion matters for BMP files:

    BMP files frequently originate from internal software, legacy business applications, medical imaging systems, and screenshot tools. Uploading these to server-based converters like Convertio, FreeConvert, or CloudConvert means your files transit to third-party servers outside your control.

  • 100% private: All conversion runs in your browser tab using WebAssembly. Zero server contact.
  • No file size caps: Convert large uncompressed BMP files without hitting upload limits.
  • Batch support: Drop multiple BMP files and convert them all at once.
  • No signup required: No account, no email, no subscription.
  • For a detailed explanation of why browser-based conversion is safer than uploading, see our guide on converting images without uploading to a server.

    Method 2: cwebp — Google's Official WebP Encoder

    cwebp is the official WebP encoding tool from Google, available free for Windows, macOS, and Linux. It offers the most control over WebP output quality and compression of any tool covered here.

    Install cwebp:

  • macOS: brew install webp
  • Linux (Debian/Ubuntu): sudo apt install webp
  • Windows: Download from developers.google.com/speed/webp/download
  • Convert a single BMP to lossy WebP:

    ```bash

    cwebp -q 85 input.bmp -o output.webp

    ```

    The -q flag sets quality (0–100). Quality 80–90 is the practical sweet spot for most images.

    Convert to lossless WebP:

    ```bash

    cwebp -lossless input.bmp -o output.webp

    ```

    Batch convert all BMP files in a folder:

    ```bash

    mkdir -p webp-output

    for f in *.bmp; do

    cwebp -q 85 "$f" -o webp-output/"${f%.bmp}.webp"

    done

    ```

    Batch lossless conversion:

    ```bash

    mkdir -p webp-output

    for f in *.bmp; do

    cwebp -lossless "$f" -o webp-output/"${f%.bmp}.webp"

    done

    ```

    cwebp is particularly valuable when you need to control quality settings precisely — for example, finding the exact quality level where file size targets are met without visible quality loss. The -print_psnr flag lets you measure quality mathematically for comparison.

    Method 3: FFmpeg (Windows, Mac, Linux)

    FFmpeg is a universal multimedia processing tool that handles BMP to WebP conversion reliably across all platforms. If you already have FFmpeg installed for video work, it handles images equally well.

    Install FFmpeg:

  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg
  • Windows: Download from ffmpeg.org and add to your PATH
  • Convert a single BMP to WebP:

    ```bash

    ffmpeg -i input.bmp -quality 85 output.webp

    ```

    Lossless WebP with FFmpeg:

    ```bash

    ffmpeg -i input.bmp -lossless 1 output.webp

    ```

    Batch convert all BMP files in the current directory:

    ```bash

    mkdir -p webp-output

    for f in *.bmp; do

    ffmpeg -i "$f" -quality 85 webp-output/"${f%.bmp}.webp"

    done

    ```

    FFmpeg handles edge cases well — including high bit-depth BMP files, large BMP files from scanning software, and BMP files with embedded color profiles. If cwebp fails on an unusual BMP variant, FFmpeg is a reliable fallback.

    Method 4: ImageMagick (Windows, Mac, Linux)

    ImageMagick is an open-source cross-platform image processing tool. Install via the ImageMagick website or on macOS via Homebrew (brew install imagemagick).

    Convert a single file:

    ```bash

    magick input.bmp -quality 85 output.webp

    ```

    Lossless WebP with ImageMagick:

    ```bash

    magick input.bmp -define webp:lossless=true output.webp

    ```

    Batch convert all BMP files in the current directory:

    ```bash

    mkdir -p webp-output

    for file in *.bmp; do

    magick "$file" -quality 85 webp-output/"${file%.bmp}.webp"

    done

    ```

    Batch with explicit lossless flag:

    ```bash

    mkdir -p webp-output

    for file in *.bmp; do

    magick "$file" -define webp:lossless=true webp-output/"${file%.bmp}.webp"

    done

    ```

    ImageMagick is particularly useful when you need to combine conversion with other transformations — resize, crop, or adjust the image at the same time as converting. For large BMP libraries (hundreds of files), the mogrify batch command is faster:

    ```bash

    mkdir -p webp-output

    magick mogrify -format webp -quality 85 -path webp-output *.bmp

    ```

    Method 5: Python Pillow

    For developers building image processing pipelines, Pillow handles BMP to WebP conversion with full control over quality, lossless mode, and metadata.

    Install:

    ```bash

    pip install Pillow

    ```

    Convert a single BMP to lossy WebP:

    ```python

    from PIL import Image

    with Image.open('input.bmp') as img:

    img.save('output.webp', 'WEBP', quality=85)

    ```

    Convert to lossless WebP:

    ```python

    from PIL import Image

    with Image.open('input.bmp') as img:

    img.save('output.webp', 'WEBP', lossless=True)

    ```

    Batch convert with error handling:

    ```python

    from PIL import Image

    import os

    def convert_bmp_to_webp(input_dir, output_dir, quality=85, lossless=False):

    os.makedirs(output_dir, exist_ok=True)

    for filename in os.listdir(input_dir):

    if filename.lower().endswith('.bmp'):

    input_path = os.path.join(input_dir, filename)

    output_path = os.path.join(

    output_dir,

    os.path.splitext(filename)[0] + '.webp'

    )

    try:

    with Image.open(input_path) as img:

    if img.mode == 'CMYK':

    img = img.convert('RGB')

    img.save(output_path, 'WEBP', quality=quality, lossless=lossless)

    print(f'Converted: {filename}')

    except Exception as e:

    print(f'Error converting {filename}: {e}')

    convert_bmp_to_webp('./bmp_files', './webp_files', quality=85)

    ```

    Note the CMYK check: some professional BMP files from print workflows use CMYK color mode. WEBP requires RGB; the convert('RGB') call handles this automatically.

    BMP vs WebP: Feature Comparison

    FeatureBMPWebP
    CompressionNone (raw pixels)Lossless or lossy
    Typical file size (1080p screenshot)6 MB200–600 KB
    Size reduction vs BMP90–97%
    Transparency (alpha)Limited (BMP32 only)Full alpha channel
    Browser supportNo web support97%+ global
    Animation supportNoYes (animated WebP)
    Color depthUp to 32-bitUp to 8-bit per channel
    Quality loss optionN/A (lossless source)Lossy or lossless
    Google PageSpeed friendlyNo (flagged as issue)Yes (recommended format)
    Platform compatibilityWindows-primaryUniversal
    Design tool supportMost toolsGrowing (Figma, Sketch, Affinity)

    Key takeaways:

  • BMP to WebP delivers 10–30x smaller files compared to the original
  • WebP lossless preserves every pixel while still being 75–80% smaller than BMP
  • WebP resolves Google Lighthouse's "Serve images in next-gen formats" warning
  • WebP supports transparency (alpha channel), unlike JPG
  • BMP has essentially no web browser support; WebP has near-universal support
  • BMP to WebP vs BMP to PNG vs BMP to JPG

    Choosing the right output format from BMP depends on your use case:

    Convert BMP to WebP when:

  • Images are destined for a website, app, or web platform
  • File size is a constraint and you want maximum reduction
  • You need both transparency support and small file sizes
  • You are following Google's PageSpeed recommendations
  • The images will be displayed in a modern browser (97%+ support)
  • Convert BMP to PNG when:

  • The images will be used in design software (Photoshop, Affinity, GIMP)
  • You need universal compatibility with all tools, including older software
  • The images will be edited further after conversion
  • You need lossless quality but WebP tool support in your workflow is uncertain
  • Convert BMP to JPG when:

  • The images are photographs or complex scenes with smooth gradients
  • You need the smallest possible files and are not serving from the web
  • The recipient only needs a visual reference — not an archival quality copy
  • For photography that needs both web performance and quality, see our BMP to JPG guide. For comprehensive lossless archiving, see BMP to PNG. For web delivery, WebP wins on every dimension that matters.

    Transparency in BMP to WebP Conversion

    Standard 24-bit BMP files have no alpha channel. If your BMP has a solid-color background (commonly white, black, or a legacy "chroma key" color), that background will be preserved exactly in the WebP output — transparency is not added automatically.

    If you need the background removed before converting:

  • Open the BMP in an image editor (GIMP is free and handles BMP well)
  • Remove the background to create transparency
  • Export as WebP directly from the editor, or save as PNG first and convert PNG to WebP with PhotoFormatLab
  • 32-bit BMP files with embedded alpha: Some Windows applications save 32-bit BMP with an alpha channel. When converting these files, both cwebp and ImageMagick preserve the alpha channel correctly in the WebP output. The browser-based PhotoFormatLab converter also handles 32-bit BMPs with alpha correctly.

    Frequently Asked Questions

    Does converting BMP to WebP lose quality?

    It depends on the mode you choose. Lossless WebP preserves every pixel from the BMP source — zero quality loss, just dramatically smaller files. Lossy WebP discards some image data, but at quality settings of 80–90, the difference is imperceptible to the human eye for most images. For screenshots, diagrams, and text-heavy graphics, use lossless. For photographs, lossy at quality 85 is the practical standard. Both modes are reversible in the sense that you can keep the source BMP if you ever need the original — but a lossy WebP cannot be re-encoded back to lossless quality.

    How much smaller will my WebP file be compared to BMP?

    For typical BMP files:

  • Lossless WebP: 75–80% smaller than BMP
  • Lossy WebP at quality 85: 90–95% smaller than BMP
  • Lossy WebP at quality 75: 93–97% smaller
  • A 6 MB BMP screenshot typically becomes 150–800 KB as WebP depending on content and quality setting. Complex images with many colors compress less than flat graphics. These are real-world numbers — BMP to WebP is the largest file size improvement possible from BMP.

    Is it safe to convert BMP files to WebP online?

    With PhotoFormatLab, yes — completely safe. All conversion runs in your browser using WebAssembly; your BMP files never leave your device. Server-based converters like Convertio and FreeConvert upload your files to remote servers, which poses privacy and security risks for BMP files that may contain internal screenshots, scanned business documents, or proprietary graphics. Read our guide to whether online image converters are safe for a detailed breakdown.

    Can I batch convert BMP files to WebP?

    Yes, all methods above support batch conversion. PhotoFormatLab's BMP to WebP converter accepts multiple files and provides a ZIP download for the results. On the command line, the bash loops in Methods 2–4 convert entire directories at once. Python Pillow (Method 5) is ideal for automated pipelines where conversion is part of a larger workflow.

    Does WebP support all BMP color modes?

    WebP supports RGB and RGBA (RGB with alpha). Standard 24-bit BMP files convert directly without any issues. High bit-depth BMPs (16-bit or 32-bit per channel) will be converted to 8-bit per channel during the process — which is standard for WebP and not a visible quality issue for most content. CMYK BMPs (from professional print workflows) need a color mode conversion to RGB before encoding to WebP; the Python Pillow code example above handles this automatically.

    Does WebP work in all browsers?

    WebP has approximately 97% global browser support as of 2026, including all modern versions of Chrome, Firefox, Safari, and Edge. The only notable exceptions are Internet Explorer (no longer supported by Microsoft) and very old iOS Safari versions. For modern web projects, WebP is safe to use without fallbacks. For maximum legacy compatibility, you can serve WebP with a PNG/JPG fallback using the HTML element and a directive. See our WebP browser support guide for the full compatibility matrix.

    J
    Jordan Webb·Founder, PhotoFormatLab

    Jordan builds privacy-focused web tools. He created PhotoFormatLab to make image conversion free, instant, and fully browser-based — no file uploads, no accounts, no watermarks. About PhotoFormatLab →

    Ad
    Ad