Initializing... drag & drop files here
Supports: BMP
Both formats store exact pixel data, so the honest framing is not "which is better quality" but "which one wastes less space and opens in more places". BMP writes pixels out raw; PNG runs the same pixels through lossless DEFLATE compression and adds an alpha channel. If your bitmap is going anywhere near a browser, a website, a chat app or a document, PNG is the right target. The one detail worth reading before you click Convert is the Quality Preset, because the default does not produce a true-colour PNG — that takes one dropdown change, explained below.
| Property | BMP (source) | PNG (output) |
|---|---|---|
| Defined by | Microsoft, in the Win32 GDI documentation | W3C, as a Recommendation (Third Edition, June 2025) |
| Compression | Normally none (BI_RGB); optional run-length encoding for indexed images is rare |
DEFLATE (RFC 1951), always lossless, sliding window up to 32,768 bytes |
| Colour models | Palette-indexed at 1/4/8 bpp, direct colour at 16/24/32 bpp | Greyscale, truecolour, indexed-colour, plus greyscale+alpha and truecolour+alpha |
| Bit depths | Fixed per colour model | 1, 2, 4, 8 or 16, with valid combinations depending on colour type |
| Transparency | Only via the later BITMAPV4HEADER / BITMAPV5HEADER alpha mask |
Full alpha channel, or a single transparent palette entry |
| Row storage | Padded so each row's stride is a whole number of 4-byte DWORDs | Filtered scanlines, no padding requirement |
| Metadata | Essentially none | Text chunks, gamma, colour profile, timestamps |
| Measured size, 1920 x 1080 photo | 6,220,854 bytes | 3,234,901 bytes true-colour, or 894,165 bytes palette-quantised |
| Opens in a browser | No | Every mainstream browser, for over two decades |
| Best for | Legacy Windows tools, scanner output, raw intermediate files | Web images, screenshots, logos, anything with sharp edges or transparency |
.bmp and refuses anything else..bmp onto the page or click "+ Add Files". Several bitmaps can be queued and converted in a single batch.The presets are not a "how hard does it compress" slider. Only one of them leaves your colour data untouched. These are the results from one 1920 x 1080 photographic bitmap of 6,220,854 bytes containing 68,399 distinct colours, run through our own pipeline.
| Quality Preset | What the encoder does | Colours in the output | Result on our test image |
|---|---|---|---|
| Highest | True-colour PNG, no palette step | 68,399 — identical to the source | 3,234,901 bytes, zero pixels changed |
| Very High (default) | Palette quantisation, then DEFLATE | 256 | 894,165 bytes, visually very close |
| High / Medium | Palette quantisation with a lower quality ceiling | 256 or fewer | Smaller again, banding starts to show on gradients |
| Low and below | Aggressive quantisation | 256 or fewer | Smallest, visible posterisation on photographic content |
Not at the preset it opens on, and this is the single most misunderstood thing about PNG converters generally. PNG's compression is always lossless, but the encoder can still reduce your image to a 256-colour palette before compressing it — and at the default "Very High" preset, ours does. In our testing, a 1920 x 1080 photograph containing 68,399 distinct colours came out as a 256-colour palette PNG of 894,165 bytes, with 1,915,520 of its 2,073,600 pixels holding a different value from the source. Selecting the Highest preset instead skips quantisation entirely: the same image produced a 3,234,901-byte truecolour PNG that compared byte-for-byte identical to the bitmap, with zero differing pixels.
If you are archiving, editing further, or matching exact colours, pick Highest and accept the larger file. If the PNG is for the web, a chat message or a document, leave it on "Very High" — the palette version was 72% smaller in our test and the difference is very hard to see on screen, because quantisation errors are small and spatially scattered rather than concentrated as blocky JPEG artifacts. Flat content like screenshots, logos and diagrams often uses fewer than 256 colours to begin with, so for those the default is effectively lossless anyway.
Because BMP barely tries. It stores three bytes per pixel and pads each row up to a 4-byte boundary — that is the whole compression story, which is why a 1920 x 1080 24-bit bitmap measures exactly 6,220,854 bytes (1,080 rows of 5,760 bytes, plus a 54-byte file header). PNG applies a per-scanline filter that turns smooth gradients into small differences, then compresses the result with DEFLATE. Same pixels, far less redundancy on disk.
No. The conversion preserves what is in the source and cannot invent an alpha channel. Most .bmp files use the plain 40-byte BITMAPINFOHEADER and are fully opaque, so the PNG will be fully opaque too. If the source is a 32-bit bitmap whose header describes an alpha mask, that transparency is carried into the PNG, which supports a full alpha channel natively. To cut out a background that was never transparent to begin with, you need an editor, not a converter.
Look at the content, not the file size. PNG for anything with text, sharp edges, flat colour or transparency — screenshots, UI captures, logos, diagrams, line art — because JPEG's block-based compression puts visible haloes around hard edges. BMP to JPG for photographs, where JPEG's losses are perceptually cheap and the files are much smaller. If the target is a modern website and you do not need to support very old browsers, BMP to WebP usually beats both.
BMP headers do record a horizontal and vertical resolution in pixels per metre, and PNG has an equivalent pHYs chunk, so a print size can survive the trip — but do not build a print workflow on it. Many bitmaps are written with the resolution fields left at zero, and plenty of applications ignore the value entirely and assume 72 or 96 DPI. If exact print dimensions matter, set them explicitly in your layout or imaging application rather than trusting the file to carry them.
Two levers, and resolution is the stronger one. Scaling under Image resolution is the biggest saving available because pixel count falls with the square: halving both width and height leaves a quarter of the pixels. The direct route is Specific file size under Image Compression — enter the number you need and the encoder works back towards it, scaling the image down if quality alone cannot get there and telling you on the result card when it did. For PNGs you already have, Compress PNG is the dedicated tool.
Effectively everywhere, and in a great many places BMP does not. PNG is a long-standing W3C Recommendation — the Third Edition was published in June 2025 — and it is supported by every mainstream browser, operating system image viewer and editor; BMP is well supported on Windows but patchier elsewhere and is not a format browsers are expected to render. The rare exceptions run the other way — some legacy Windows utilities, embedded firmware tools and old scanner software only accept bitmaps. PNG to BMP covers that direction.
It converts cleanly and usually gets much smaller. PNG has native indexed-colour and greyscale modes with bit depths of 1, 2, 4 and 8, so a black-and-white fax-style bitmap or a 256-colour palette image maps naturally onto a PNG colour type rather than being expanded to 24-bit. Because those images already have few colours, the default preset's palette step has little or nothing left to remove, and the output is effectively an exact copy at a fraction of the size.