Convert BMP images to PNG for free, right in your browser — no sign-up, no upload.
BMP to PNG is the safe way to shrink a BMP: both formats are lossless, so the PNG has exactly the same pixels, only compressed. How much you save depends on the content — a 512 × 512 photo went from 786,486 to 575,694 bytes (−27 %), while a 203 × 186 tile sheet with flat colours went from 113,886 to 16,685 bytes (−85 %). The width and height are unchanged, and no quality setting is involved.
Drop image files hereProcess many files at onceNo upload · processed on this device
Making a game?
Nerulio is a 2D game asset studio first: draw pixel art, cut sprite sheets into animations, pack texture atlases, check autotile tilesets and export them for Godot, Unity, Phaser and other engines. It runs in your browser; files stay on your device.
The common BMP stores every pixel as three raw bytes (blue, green, red) with no compression, and pads each row to a multiple of 4 bytes. Its size is therefore fixed by the dimensions: 54 header bytes + height × padded row length. MDN recommends avoiding BMP for web content for exactly this reason.
PNG predicts each pixel from its neighbours and compresses the difference losslessly. Flat colour, text and pixel art predict almost perfectly and shrink dramatically; camera noise does not, so photos shrink only moderately. Either way nothing is lost — the measured PNGs decode to the very same pixels as the BMPs.
Uncompressed
Raw pixel bytes; the file size depends only on width and height.
Row padding
Each BMP row is rounded up to a multiple of 4 bytes.
Lossless
The PNG decodes to exactly the pixels the BMP held.
Size arithmetic and two measured files
BMP sizes computed from the format; PNG sizes measured with Nerulio's converter in Chromium 153 on 2026-09-28 (BMPs written by Pillow 12.3 from the repository fixtures).
Photo 512 x 512: row = 512 x 3 = 1,536 bytes (already a multiple of 4)
54 + 512 x 1,536 = 786,486 bytes BMP -> 575,694 bytes PNG (-27 %)
Tiles 203 x 186: row = 203 x 3 = 609 -> padded to 612 bytes
54 + 186 x 612 = 113,886 bytes BMP -> 16,685 bytes PNG (-85 %)
Pixels changed in both PNGs: 0
The tile sheet is Kenney's CC0 Tiny Dungeon tilemap flattened onto black; as lossless WebP (quality 100) it shrank further to 6,318 bytes, also pixel-exact.
What the PNG keeps
In the BMP
What the converter does
In the PNG
24-bit pixels
Stored losslessly
Identical pixels
Row padding and bottom-up order
Handled by the browser's decoder
Not needed in PNG
File size tied to dimensions
Replaced by DEFLATE compression
Size depends on content
Header resolution (DPI) fields
Not copied
No DPI information
Check the result
Open both files at 100 %: they must look identical, because both formats are lossless.
Check that width and height match the BMP.
Compare the byte counts: screenshots and graphics usually shrink far more than photos.
Troubleshooting
Symptom
Likely cause
How to check
Fix
"This image cannot be opened"
An unusual BMP variant (compressed, odd bit depth) the browser does not decode
Open the BMP directly in the browser
Re-save it as a standard 24-bit BMP or PNG in the program that made it
The target reads WebP: lossless and smaller still (6,318 vs 16,685 bytes for the tile sheet).
What this page does not cover
Only BMP variants the browser decodes can be read.
DPI and other header fields are not carried over.
Versions and sources
BMP sizes follow the layout MDN describes (3 bytes per pixel, rows padded to 4 bytes). PNG sizes and the zero-difference check were measured on 2026-09-28 in Playwright Chromium 153 with Nerulio's converter path, on BMPs written by Pillow 12.3 from tests/fixtures/astronaut.png and tests/fixtures/kenney/tiny-dungeon-tilemap.png.
Example generated with this tool. ZIP tools show their preview; inspect the downloaded archive for every file.
Convert image
Export PNG, JPG or WebP. JPG flattens transparency.
How it works
Open an image
Select PNG, JPG or WebP
Convert and download the new file
Supported formats
PNG / JPG / WebP / AVIF / HEIC → PNG / JPG / WebP — Input decoding and output encoding depend on browser support. Animated inputs are rejected; select a still frame first.
What this tool does
Re-encodes the image into the selected format rather than renaming its extension.
Implementation and verified quality
advanced · browser image codecs. Quality qualification is in progress. Pro/Flagship quality has not been established.
Before you export
JPG has no transparency. Canvas export does not promise preservation of metadata, color profiles or animation.
Frequently asked questions
Which format keeps a transparent background?
Choose PNG or WebP. JPG flattens transparency onto the selected background color.
Are my files uploaded?
This tool processes the files you open on your device without uploading them. Images you explicitly attach to community posts are uploaded separately. Optional engines and models are downloaded from third parties; those requests expose connection information such as your IP address.
Will my work be saved automatically?
No. Images and editing state stay in this tab; media output can use local temporary storage. Changing language preserves your work; reloading, closing the tab, or following a link to another page can clear it.