Skip to main content

JPG to BMP converter

Convert JPG images to BMP format

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

Almost nobody chooses a bitmap for its own sake; they convert to it because a program refuses anything else. That program is usually a Windows utility, a test rig, a machine-vision importer or an embedded display driver that wants pixels with no decoding to do. Because a JPEG has no transparency, this direction is unusually clean - there is no alpha channel to lose and nothing turns black or white unexpectedly. The only real consequence is the size: whatever compression the JPEG achieved is completely undone, and the bitmap that results is fixed by resolution alone.

Key facts about JPG to BMP converter

Key facts about JPG to BMP converter
Output formatA 24-bit BI_RGB bitmap - 14-byte file header, 40-byte information header, no palette, no compression.
Byte order in a pixelBlue, then green, then red, with rows stored from the last one upward as Windows bitmaps have always done.
AlignmentEvery scanline is rounded up to a four-byte boundary with zero padding, so widths that are not a multiple of four waste a few bytes per row.
TransparencyNot applicable in either direction: JPEG has no alpha, and the 24-bit bitmap has no place to put one, so nothing is lost here.
Predictable lengthA 4000x3000 photo becomes a 36,000,054-byte bitmap whether it was a 900 KB JPEG or a 6 MB one - only the dimensions count.
QualityThe JPEG's existing artifacts are copied exactly; the bitmap neither removes them nor adds anything new.
Physical sizeThe header records 2835 pixels per metre on both axes, equivalent to 72 dpi, regardless of what the JPEG claimed.
Stripped along the wayCamera make and model, exposure data, GPS position and the ICC profile are all absent - a bitmap header has no room for them.
Read byWindows Paint, Photos and Explorer thumbnails, macOS Preview, GIMP, Photoshop, OpenCV and most industrial imaging SDKs.

What happens to your file

No browser can encode a bitmap, so this page constructs the file directly. Your JPEG is decoded by the browser, painted onto a canvas, and its pixel array is read back with getImageData; a DataView then writes the two headers and copies the rows bottom-up into an ArrayBuffer, swapping each pixel into blue-green-red order as it goes. That buffer is wrapped in a Blob and handed to a download link. The photo stays in this tab's memory throughout - it is never sent to a server, which is worth knowing when the source is a phone picture with location data in it.

About this tool

  1. 1

    Add your JPG files

    Up to twenty per run. HEIC photos from an iPhone are accepted as well and are decoded to JPEG data in the tab first.

  2. 2

    Think about the dimensions

    The bitmap's size follows directly from width and height, so use a resize preset if the receiving software has a memory or resolution limit.

  3. 3

    Convert

    Assembly is a per-pixel loop in JavaScript; multi-megapixel images take a visible moment and very large ones can take several seconds.

  4. 4

    Download and check capacity

    A batch of twenty full-resolution bitmaps easily exceeds half a gigabyte, so make sure the destination has room.

Specs & compatibility
Input and outputTakes .jpg and .jpeg only (image/jpeg) and returns .bmp with the image/bmp type; any other extension is refused before decoding.
Conversion pathJPG to BMP runs in three steps: an <img> element decodes the JPEG, baseline or progressive, in the browser; 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 JPEG 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 JPG.
Batch, caps and namingTwenty JPG 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 JPG fails before any BMP bytes exist.
  • Many applications that ask for a BMP actually want a specific width or height as well - set it with the presets before converting rather than resizing the bitmap afterwards.
  • For storage or sharing, the JPG you started with is smaller by an order of magnitude and looks identical; convert to BMP only for the software that demands it.
  • Machine-vision and OCR pipelines often prefer a bitmap because there is no decode step and no codec variation between machines.
  • If your tool expects a 32-bit bitmap with an alpha byte, this file will not match it - the output is strictly 24-bit.
  • Supplying frames to legacy Windows software, a hardware test bench or a measurement application that reads only .bmp.
  • Loading an image onto an embedded panel or signage device whose firmware has a minimal bitmap reader.
  • Preparing photographs for an image-processing pipeline that wants raw pixels rather than a compressed file.
No. The bitmap stores exactly the pixels the JPEG decoder produced, blocking artifacts included. An uncompressed format guarantees that nothing more will be lost from here on, but it cannot recover what the original encoder discarded. If the JPEG looks soft at full zoom, the bitmap will look identically soft while occupying far more space.
Because the bitmap keeps three raw bytes for every pixel and applies no compression at all. A 4000 by 3000 image contains twelve million pixels, which is thirty-six million bytes plus a 54-byte header. JPEG achieved its size by discarding detail and encoding what remained efficiently; a bitmap does neither.
Only by using fewer pixels. There is no quality slider for this target because nothing about the encoding is adjustable - no RLE compression, no colour reduction, no 16-bit mode. Choosing one of the resize presets is the single effective lever, and halving the longest side quarters the file.
All of them, in practice. A 24-bit BI_RGB bitmap with a BITMAPINFOHEADER is the most conservative variant the format has, and Paint, Photos, Explorer previews and decades of third-party software read it without complaint. Preview on macOS and every major browser also display it.
No. The conversion works from decoded pixels on a canvas, and a bitmap header has no metadata fields at all, so camera information, timestamps and location tags do not appear in the output. The original JPEG still contains them, of course - only the converted copy is clean.
View all

Need the opposite? Try BMP to JPG

Updated

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