How to Convert BMP to AVIF: Step-by-Step Tutorial
🚀 Ready to follow along? Open the BMP to AVIF converter now.
Open Tool →What This Tutorial Covers
This tutorial walks you through converting BMP bitmap images to AVIF format using the browser-based tool on this site. No software installation required. You will learn how to add files, set quality, use batch ZIP download, and deploy your AVIF files for the web.
For background on why you might want AVIF and when to choose it over WebP or PNG, see the companion BMP to AVIF Complete Guide.
What You Need
- One or more
.bmpfiles - A modern browser: Chrome 85+, Edge 121+, or Firefox 93+ (recommended for AVIF output)
- No account, no software, no subscription
Note on Safari: Safari supports viewing AVIF images but does not yet support encoding AVIF via the Canvas API. If you are on Safari, the tool will automatically fall back to WebP output. For AVIF output specifically, use Chrome or Edge.
Step 1: Open the Converter
Navigate to dataconversioncenter.com/image-tools/bmp-to-avif/ in your browser. The page loads immediately — there are no dependencies to install and no libraries to download. The conversion engine uses the browser's built-in Canvas API to decode BMP and encode AVIF entirely in memory.
If your browser does not support AVIF encoding, a yellow warning banner will appear at the top of the tool indicating that WebP fallback will be used. In this case, the output files will be .webp instead of .avif.
Step 2: Add Your BMP Files
You have two ways to add files:
- Drag and drop: Open your file manager or desktop and drag one or more
.bmpfiles directly onto the drop zone labeled "Drop BMP files here". The zone highlights in blue when you hover over it. - Browse: Click anywhere on the drop zone (or the "Browse Files" link) to open your file picker. Select multiple files using Ctrl+click (Windows) or Cmd+click (Mac).
As soon as files are added, the tool generates thumbnail previews for each one. You will see an Input Files grid with a card per file showing the filename, file size, and a Ready status badge.
Note: Files with an extension other than .bmp are automatically rejected with an inline error message. Non-BMP files are not added to the conversion queue.
Step 3: Set the Quality Slider
The quality slider controls compression aggressiveness for the AVIF output. The slider ranges from 30 (most compressed) to 100 (least compressed). The default is 80, which is the recommended setting for most web images.
Practical quality guide:
- Quality 80 (default): Best for web images and general storage reduction. Visually indistinguishable from the original BMP at screen resolution.
- Quality 85–90: Better for images with fine text, product photography, or technical diagrams where detail preservation is critical.
- Quality 65–75: Smaller files, acceptable for thumbnails or low-priority preview images.
- Quality 90–95: Near-lossless. Use only when archival accuracy is more important than file size.
You can adjust the quality slider at any time before clicking Convert. It cannot be changed mid-conversion.
Step 4: Choose Download Mode
Before converting, decide how you want to receive your AVIF files:
- Individual downloads (default): Leave "Download as ZIP" unchecked. After conversion, each output card has its own Download button, and a "Download All AVIFs" button appears for sequential bulk download.
- ZIP archive: Check "Download as ZIP". After conversion, a single "Download ZIP" button downloads all AVIFs in one file named
dataconversioncenter_bmp_to_avif_YYYYMMDDHHMM.zipusing your local date and time.
For batches of more than 5 files, the ZIP option is strongly recommended to avoid multiple browser download dialogs.
Step 5: Click "Convert to AVIF"
Click the blue Convert to AVIF button. The button label changes to "Converting…" and is disabled while conversion runs.
For each file in sequence:
- The status badge on the input card changes from Ready to Converting…
- The browser loads the BMP into an HTML Image element and draws it to an HTML Canvas.
- The Canvas's
toBlob()method encodes the pixel data to AVIF using the browser's built-in AV1 encoder at the selected quality. - If AVIF is not available, the tool falls back to WebP automatically.
- The status changes to Converted and an output card appears.
The progress bar tracks overall progress — "Converted X of N". Files are processed two at a time for throughput efficiency.
Step 6: Review the Results
After conversion completes, a summary banner appears: "✓ All N files converted successfully" or "Completed: X succeeded, Y failed."
An Output Files grid displays cards for each successfully converted AVIF, showing:
- A thumbnail preview of the converted image
- The output filename — same base name as the input with
.avifextension (e.g.screenshot.bmp → screenshot.avif) - Output file size — typically 3–10% of the input BMP size at quality 80
- A per-file Download AVIF button
Any files that failed to convert are marked with a red Error badge. Common causes: the file extension was .bmp but the actual file was a different format (e.g. a renamed JPG), or the browser ran out of memory on an unusually large file. The tool continues converting remaining files when one fails.
Step 7: Download Your AVIF Files
Individual download
Click the ⬇ Download AVIF button on any output card to save that file. The filename is the same as the input with .avif extension.
Download All (no ZIP)
With "Download as ZIP" unchecked, click Download All AVIFs. The tool triggers sequential browser downloads with a 120 ms delay between each to prevent browser throttling.
Download ZIP
With "Download as ZIP" checked, click Download ZIP. JSZip assembles all AVIF blobs in memory and downloads a single file named, for example, dataconversioncenter_bmp_to_avif_202603061200.zip.
Step 8: The Tool Resets Automatically
After a ZIP download or "Download All" completes, the tool automatically resets to its initial empty state. All thumbnails, cards, and file references are cleared. The quality slider resets to 80 and the checkbox resets to unchecked. Click Start Over to reset manually at any point.
Bonus: Deploy AVIF on Your Website
Once you have your AVIF files, here is the recommended HTML pattern for web deployment with a fallback for older browsers:
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="Description" width="1200" height="800">
</picture>
This serves AVIF to Chrome, Firefox, Edge, and Safari 16+; WebP to older Safari and compatible browsers; and JPG to any browser that supports neither (essentially IE11 and below). Always include an alt attribute and width/height attributes to prevent layout shift.
Troubleshooting
- File shows Error status: Verify the file is a genuine BMP. Files saved with a
.bmpextension but in a different format (e.g. a renamed PNG) will fail to decode as a BMP. - Output is .webp instead of .avif: Your browser does not support AVIF encoding. Switch to Chrome 85+ or Edge 121+ for AVIF output.
- Thumbnails not generating: Very large BMP files (50 MP+) may take 5–15 seconds to decode. The tool will proceed when ready.
- Output file is larger than expected: Some content types (solid colors, simple gradients) may encode very efficiently and produce files much smaller than expected. If a file seems too large, try lowering quality to 70–75.
- ZIP not downloading: Some browsers require a direct user interaction to trigger downloads. Ensure you clicked the Download ZIP button directly rather than via a script.
Next Steps After Conversion
- Deploy with picture element: Use the HTML pattern above for maximum browser compatibility.
- Compress further if needed: Use the Image Compressor on the AVIF files if you need even smaller sizes.
- Resize before converting: If you only need a smaller display size, use the Image Resizer on the BMP first, then convert to AVIF — a smaller canvas means a smaller AVIF.
- Read the full guide: For more background on AVIF compression, quality settings, and when to use lossless instead, see the BMP to AVIF Complete Guide.
🚀 Convert BMP to AVIF now — free, browser-based, no sign-up.
Open Tool →