Drop a BMP above, get a PNG back with every pixel intact and the file far smaller.
This is the conversion that costs nothing. PNG compresses losslessly, which means it finds patterns and stores them compactly rather than discarding detail. Decode the PNG and you get back precisely the pixels the bitmap held, with no smudging around edges and no change to a single colour value.
Bitmaps are uncompressed by design. A 1920 by 1080 BMP occupies about 6MB for a photograph and the same 6MB for a blank page, because it spends 3 bytes on every pixel regardless. PNG storing the same image typically lands between a tenth and a half of that, and a screenshot or diagram with large flat areas can fall much further.
Best for anything with edges: screenshots, scanned documents, diagrams, logos, receipts, line art. These are exactly the images JPEG treats worst, and exactly what old software tends to save as BMP.
Choose BMP to JPG when the file has to be small and the picture is a photograph. Photographs compress much harder as JPEG, and the detail it discards is hard to see in them.
Drop a folder of them and they come back together in a ZIP.