Home › Formats › Images › BMP

BMP files: what they are, why they are so big, and how to convert them

BMP is Windows' original uncompressed bitmap format. Files are enormous and it has no transparency support, so it survives mainly in legacy software, scanners, and old game assets.

Compression
None, usually
Transparency
No in practice
Animation
No
Opens on
Everything

What is a BMP file?

BMP, short for bitmap, is the picture format Microsoft shipped with Windows in 1987 and never really replaced. It stores the color of every single pixel one after another with no compression at all, preceded by a small header that says how wide the image is, how tall, and how many bits each pixel uses. That simplicity is the whole point: any program can read a BMP with a few lines of code, which is why scanners, screen-capture utilities, microscopes, cash registers, and industrial equipment still produce them.

The cost is size. A 12-megapixel photo is about 3 MB as a JPG and about 36 MB as a 24-bit BMP, because nothing is squeezed. There is an optional run-length encoding mode for 4 and 8-bit images, but almost nothing uses it, and the format has no real transparency support: a 32-bit BMP can carry an alpha channel, but so many programs ignore it that you cannot rely on it.

Where BMP still turns up

Old software and hardware that was never updated, Windows utilities that save screenshots, icon and cursor editors, some game modding pipelines, and equipment that writes images straight from a sensor. Windows Paint still offers BMP in its save dialog, which is how most people end up with one by accident.

It is also the format inside other files: an ICO icon is usually a small stack of BMP or PNG images, and some fonts and resource files embed bitmaps the same way.

What to convert a BMP to

PNG for anything with text, flat color, or sharp edges: it is lossless like BMP, so nothing changes visually, and the file usually shrinks by 60 to 90 percent because PNG actually compresses. JPG for photographs, where a quality of 90 gives a file a fraction of the size with no visible difference. WebP if the picture is headed for a web page and you want it smaller still.

Converting away from BMP never loses detail when you pick PNG, because both store the exact pixels. The only thing you lose is the wasted space.

Frequently asked questions

Why is my BMP file so large?

Because it is uncompressed: width times height times three bytes, plus a small header. A 1920 by 1080 screenshot is about 6 MB as a BMP and about 300 KB as a PNG of the same picture, pixel for pixel identical.

Does BMP support transparency?

Only in a 32-bit variant that many programs ignore, so in practice no. If you need transparency, use PNG.

Is BMP better quality than JPG?

It is lossless, so it has no compression artifacts, but it holds no more detail than the picture that went into it. A BMP made from a JPG still has the JPG artifacts, just stored in a much bigger file.

How do I open a BMP file?

Every operating system and browser already does. If something refuses it, convert it to PNG first.

Convert or edit BMP files

BMP to PNG.bmp → .pngBMP to JPG.bmp → .jpgCompress ImageReduce image file size in your browser without uploadingResize ImageResize JPG, PNG, WebP, and HEIC images to exact pixel dimensions or a percentage, right in your browserCompress Image to a SizeReduce a photo to a maximum file size in KB or MB, in your browserCompress Image to 100 KBCompress a JPG, PNG, WebP, or HEIC photo to under 100 KB in your browser without uploading itCompress Image to 200 KBCompress a JPG, PNG, WebP, or HEIC photo to under 200 KB in your browserResize to 8×8Resize any image to exactly 8×8 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 16×16Resize any image to exactly 16×16 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 32×32Resize any image to exactly 32×32 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 64×64Resize any image to exactly 64×64 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 128×128Resize any image to exactly 128×128 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingResize to 256×256Resize any image to exactly 256×256 pixels in your browser, with smooth or crisp pixel-art scaling and transparent paddingDiscord Emoji MakerTurn any picture into a Discord custom emoji: resized to 128×128 PNG under 256 KB with transparency kept, in your browserDiscord Sticker MakerMake a Discord sticker from any image: exactly 320×320 PNG with transparency, under the 512 KB limit, in your browserDiscord Image ResizerResize images to every Discord size: server icon 512×512, server banner 960×540, profile banner 600×240, avatar 1024×1024, emoji 128×128, sticker 320×320Twitch Emote MakerTurn one image into all three Twitch emote sizes (28×28, 56×56, 112×112) as transparent PNGs in your browserTwitch Image ResizerResize images to Twitch sizes: profile picture 800×800, profile banner 1200×480, offline screen 1920×1080, panel 320×100, video thumbnail 1280×720YouTube Thumbnail ResizerResize any image to the YouTube thumbnail size, 1280×720 (16:9), as a JPG under 2 MB, in your browserYouTube Image ResizerResize images to YouTube sizes: channel banner 2560×1440, profile picture 800×800, thumbnail 1280×720, watermark 150×150, Shorts 1080×1920Instagram Image ResizerResize photos to Instagram sizes without cropping surprises: square post 1080×1080, portrait 1080×1350, landscape 1080×566, story and reel 1080×1920, profile 320×320X (Twitter) Image ResizerResize images for X (Twitter): header 1500×500, post image 1600×900 (16:9), profile picture 400×400, in your browserFacebook Image ResizerResize images for Facebook: cover photo 851×315, shared image 1200×630, square post 1080×1080, profile picture 170×170, event cover 1920×1005LinkedIn Image ResizerResize images for LinkedIn: profile banner 1584×396, post image 1200×627, profile photo 400×400, company cover 1128×191, in your browserSocial Preview (OG) Image ResizerResize any image to 1200×630, the Open Graph size that Facebook, X, LinkedIn, Slack, and Discord use for link previews, in your browserSteam Image ResizerResize images for Steam: profile avatar 184×184, header capsule 460×215, main capsule 616×353, library capsule, workshop preview 640×360, in your browserApp Icon ResizerGenerate all app icon sizes from one image (16, 32, 48, 64, 128, 256, 512, 1024 px) as PNGs in your browser, for iOS, Android, macOS, Windows, and webRemove BackgroundRemove the background from a photo or product picture automatically, on your device: a neural network finds the subject and returns a transparent PNG, or a white or colored backgroundCrop ImageCrop photos to a square, 16:9, 9:16, 4:5, or exact pixel size in your browserRotate ImageRotate images by 90, 180, or 270 degrees and flip them horizontally or vertically in your browserAdd Watermark to ImageStamp a text watermark on photos in your browser: choose position, size, opacity, or tile it across the imagePNG to ICOConvert a PNG into a multi-size ICO file for favicons and Windows icons, in your browserQR Code ReaderRead a QR code from a photo or screenshot in your browserImage to Text (OCR)Extract text from photos, screenshots, and scans in your browser with on-device OCRRemove EXIF DataStrip metadata, location, and camera details from JPG, PNG, WebP, and HEIC photos before sharingImages to GIFCombine JPG, PNG, WebP, or HEIC images into an animated GIF in your browserJPG to PDFConvert JPG photos into a PDF in your browser: one image per page, in order, with optional A4 or Letter pages and marginsPNG to PDFConvert PNG images into a PDF in your browser, one per page, with exact-size or A4/Letter pagesMinecraft Server Icon MakerMake a Minecraft server icon from any image: exactly 64×64 PNG, saved as server-iconImage to Pixel ArtTurn any photo or drawing into pixel art in your browser: choose the pixel size, a limited palette (16 colors, Game Boy, PICO-8), and ditheringSprite Sheet MakerPack animation frames or the frames of a GIF into a sprite sheet grid with JSON coordinates, in your browserSprite Sheet SplitterSplit a sprite sheet or tileset into individual PNG frames by grid or tile size, in your browserPixel Art UpscalerScale pixel art, sprites, and game textures up 2x to 16x with crisp nearest-neighbor scaling, in your browserNormal Map GeneratorTurn a height map, bump map, or any texture into a tangent-space normal map (OpenGL or DirectX) in your browser