Back to Blog

BMP to PNG: Shrink Old Bitmap Files Without Losing Pixels

BMP stores every pixel raw, so a 12-megapixel bitmap eats around 36 MB of disk. Converting BMP to PNG keeps every pixel identical while cutting file size dramatically — here's how, with ImageMagick and online.

You open an old folder of screenshots or scans and find Scan_0014.bmp sitting there at 36 MB. The image is a flat document scan. It should be a couple of megabytes at most. Nothing is wrong with the file — that is just what BMP does.

Converting BMP to PNG fixes this completely and safely: PNG is lossless, so every pixel comes out bit-for-bit identical, while the file typically drops to a fraction of the original size. Below is why the gap is so big, how to do the conversion on the command line and in the browser, and when PNG is not the right target.

Why a BMP is so absurdly large

A standard Windows BMP stores raw pixel data. No compression, no tricks. Each pixel occupies a fixed number of bytes — typically 3 bytes for 24-bit colour, or 4 bytes for 32-bit with an alpha channel — and the file is essentially those bytes laid end to end after a small header.

That makes the math painfully predictable:

  • A 12-megapixel image (roughly 4000 × 3000) at 24-bit colour: 12,000,000 × 3 bytes ≈ 36 MB
  • A 1920 × 1080 screenshot at 24-bit: about 6 MB
  • A 300 dpi A4 scan (around 2480 × 3508) at 24-bit: about 26 MB

The content does not matter. A pure white page and a dense photograph of the same dimensions produce the same BMP size. That is the key insight: BMP ignores redundancy, and most real images — screenshots, UI captures, diagrams, text scans — are enormously redundant.

PNG, by contrast, uses lossless DEFLATE compression plus per-row filtering that predicts each pixel from its neighbours. Large flat areas, repeated colours and sharp-edged UI elements compress spectacularly. A 6 MB BMP screenshot of a mostly-white application window often lands somewhere in the low hundreds of kilobytes as PNG. Photographic BMPs compress less — maybe to half — but they still shrink, and they still lose nothing.

Is BMP obsolete? Not quite — here's where it still turns up

BMP is not dead, it is just niche. You still meet it in:

  • Microsoft Paint and old screenshot habits — Paint defaulted to BMP for years, so folders of 1990s–2000s screen captures are full of them.
  • Legacy business software — reporting tools, label printers, POS systems and industrial HMIs that export or expect raw bitmaps.
  • Embedded devices and scanners — some firmware writes BMP because the format needs no compression library at all.
  • Game and application resources — older titles shipped BMP textures and splash screens for the same reason: trivial to parse.

The reason BMP survives is that it is dumb-simple to read and write. That virtue is worthless once the file is sitting on your drive or in an email attachment, which is exactly when you want PNG instead.

BMP to PNG with ImageMagick: the hands-on version

If you have a folder of old bitmaps, the command line is the fastest route. ImageMagick 7 uses the magick command. One file first:

magick Scan_0014.bmp Scan_0014.png

That is genuinely all it takes. PNG is lossless by default, so there is no quality setting to get wrong. If you want ImageMagick to work harder at squeezing the file, raise the compression effort:

magick Scan_0014.bmp -define png:compression-level=9 Scan_0014.png

Level 9 is slower but gives the smallest output; the pixels are still identical. To convert an entire folder in one go:

magick mogrify -format png -define png:compression-level=9 *.bmp

mogrify -format png writes a new .png next to each .bmp and leaves the originals alone — delete them only after you have checked the results.

Proving the pixels are identical

Do not take "lossless" on faith. Compare the two files pixel by pixel:

magick compare -metric AE Scan_0014.bmp Scan_0014.png null:

AE counts absolutely different pixels. A result of 0 means the PNG is a perfect copy. Run the same comparison against a JPEG export of the file and you will see thousands of differing pixels — that is the practical difference between lossless and lossy.

One extra flag worth knowing: screenshots saved as 32-bit BMP often carry a useless alpha channel full of zeros or 255s. Strip it and the PNG gets smaller again:

magick Screenshot_2003.bmp -alpha off Screenshot_2003.png

The online route: no install, same lossless result

If you have a handful of files, or you are on a locked-down work machine where installing ImageMagick is not an option, do it in the browser. Drop the files into our BMP to PNG converter, wait for the conversion and download the results — no account, no watermark, no quality slider to second-guess, because PNG has nothing to lose.

A sensible workflow for a cleanup session:

  1. Sort the folder by size and pick the worst offenders first — the 20 MB+ files give you most of the space back.
  2. Convert them to PNG.
  3. Open one or two PNGs at 100 % zoom and compare against the originals.
  4. Move the BMPs to a temporary folder for a week, then delete.

If the batch also contains TIFFs, GIFs or old .pcx oddities, the wider image converter hub covers those formats too.

BMP to JPG or PNG — which is better for your files?

This is the most common follow-up, and the honest answer depends on what the bitmap actually contains.

  • Screenshots, UI captures, diagrams, line art, text scans, anything with sharp edges or flat colour → PNG. It compresses this content brilliantly and keeps text edges crisp. JPEG would smear halos around every letter.
  • Photographs you will never edit again and want as small as possible → JPEG at quality 85 will typically beat PNG by a wide margin, at the cost of permanent, invisible-but-real pixel changes.
  • Anything you might edit, re-crop or re-export later → PNG. Lossy re-saves compound; lossless ones never do.
  • Images with transparency → PNG. JPEG has no alpha channel at all.

When in doubt with archival material, choose PNG. You can always make a JPEG from a PNG later; you can never recover detail a JPEG threw away.

Your cleanup checklist

To get your old bitmap folder under control today:

  • Run magick mogrify -format png -define png:compression-level=9 *.bmp on the folder, or use the online converter for small batches.
  • Verify one file with magick compare -metric AE and confirm a result of 0.
  • Strip pointless alpha channels on 32-bit screenshot BMPs with -alpha off.
  • Keep PNG for anything with text or flat colour; consider JPEG only for pure photos you are done editing.
  • Quarantine the originals briefly, then delete and reclaim the space.

The nice part is that this is a decision you only have to make once. Unlike a lossy conversion, a BMP-to-PNG pass is reversible in every way that matters — the pixels are still all there.

FAQ

Does converting BMP to PNG lose quality? No. PNG is a lossless format. Every pixel value in the PNG matches the BMP exactly; only the way those values are stored changes.

How much smaller will my PNG be? It depends entirely on content. Screenshots and document scans often drop by 80–95 %. Noisy photographs might only drop by 30–50 %. A BMP that is already tiny or heavily dithered may shrink very little.

Can I convert PNG back to BMP? Yes, with magick file.png file.bmp. Because nothing was lost, you get the original pixel data back — useful if a legacy application insists on bitmaps.

Is BMP obsolete? For sharing, storage and the web, effectively yes — browsers support it, but nobody should ship it. For legacy software, embedded devices and some internal tooling it is still actively used because it is so simple to parse.

Will PNG keep my image's transparency? Yes. PNG supports a full alpha channel, so transparency from a 32-bit BMP survives the conversion.

Can I convert BMP to PNG online free without installing anything? Yes — use the browser-based converter linked above; it handles the conversion without software installs or sign-ups.

Ready to Convert Your Files?

Try our free online file converter. No registration required.

Start Converting