Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
Converting BMP to ICO produces the icon container Windows and browsers expect, holding 16, 32 and 48 pixels in one file by default. Two things decide whether the result is usable: nothing in an ICO goes above 256 pixels, and the icon can only be transparent if the bitmap was — most are not. It runs in your browser.
Up to 100 files at once. Mixed formats are fine.
They convert one after another and download together as a ZIP.
BMP to ICO
BMP 450 KB → ICO 139 KB 3.2× smaller
BMP 450 KB → ICO 7 KB 64.4× smaller
BMP 450 KB → ICO 3 KB 175.2× smaller
Both are Microsoft formats and they are close relatives: ICO dates from 1985, BMP from 1987, and an ICO originally was a bitmap with an index in front of it. The container exists to hold several images of different sizes so that Windows can pick the right one for a desktop, a menu or a taskbar.
That shared ancestry is why a bitmap is such a common starting point for an icon and why the conversion is so direct. It is also why the format’s constraints look old-fashioned — the size field is one byte wide, which is a decision from 1985 that the rest of this page keeps running into. The registry classes ICO as niche and BMP as legacy, and both descriptions are fair; what keeps ICO in use is that browsers still ask every site for a file called favicon.ico, and what keeps BMP in use is that Windows tools still write it.
The container holds a set, and a well-made favicon is a set — 16, 32 and 48 pixels in one file so that every context gets an image at its own size instead of scaling a large one. That is what the default here writes: three directory entries, three PNGs, largest first, all from the one bitmap you dropped in. "All common sizes" extends it to 64, 128 and 256; "256 px only" writes the single large entry a build tool sometimes asks for.
What no converter can do is redraw. The 16-pixel entry is your bitmap reduced to 16, not a mark somebody sat down and re-cut at that size with the strokes snapped to whole pixels — and at 16 pixels a letterform is four or five pixels tall, so the difference between legible and smudged is which pixels a person chose to keep. Getting the set out of one file is most of the benefit; the last part of it is still a design job, and GIMP or IcoFX will let you swap a hand-drawn 16 into the file this page produces.
Anything larger is scaled down before it is written, and the detail beyond that point is discarded. This is the format’s limit rather than the converter’s: the width and height fields in an ICO directory entry are a single byte each, and 256 is stored as zero because the value does not fit in a byte.
So there is no benefit in starting from a 4000-pixel bitmap. The scaling is done in two smoothed canvas passes, down to 256 pixels and then to each requested size, which handles a large reduction reasonably, but nothing recovers the fact that fine detail simply cannot be seen at icon sizes. Artwork with thin lines and small text needs to be simplified by a person, not by a resampler.
This is the most common disappointment in this conversion and it happens before the file ever reaches this page. The great majority of BMP files are 24 bits per pixel, and 24 bits per pixel has no room for an alpha channel — every pixel is opaque, including all the ones that look like background.
So a logo drawn on white in Microsoft Paint becomes an icon of a logo on a white square, and it will show as a white square against a dark taskbar or a dark browser tab. No conversion fixes this, because there is nothing in the file that says which white is the background and which white is part of the drawing — a rule that removed one would sooner or later remove the other. The transparency has to be created in an editor and the file saved as a 32-bit BMP or a PNG before this step. GIMP does it in a minute and is free; so does Paint.NET, which the registry lists for PNG.
The 32-bit BMP variants do hold an alpha channel, and ICO holds one too, so a bitmap that genuinely has a transparent background produces an icon that has one. Nothing on this path flattens the image or asks for a fill colour.
Soft edges survive as soft edges as well, which matters more at icon sizes than at any other. A 32-pixel icon is mostly edge, and the difference between an anti-aliased outline and a hard one is the difference between something that looks drawn and something that looks like a scaled-down screenshot.
A six-byte header, sixteen bytes of directory per size, then a PNG for each. The format allows a raw uncompressed bitmap instead — that is what an ICO originally contained — but every version of Windows since Vista reads a PNG inside an ICO, and the file comes out a fraction of the size.
It is worth knowing because it explains the file sizes. A 256 by 256 image at four bytes per pixel is about 262 KB as a raw payload, and the same image as a PNG is typically a small number of kilobytes — with no loss whatever, since PNG is lossless and the pixels are the ones the bitmap held. It also explains something counter-intuitive about the size sets: the three-size default is usually a smaller file than the single 256, because three small PNGs of a flat mark cost less than one large one. Measured on a logo, 1,062 bytes against 2,229. There is no reason to pick the single entry to save weight.
Somewhere between 256 and 512 pixels square is the useful range for a source bitmap. Below the largest size you asked for, the image is enlarged to fill it — a 90-pixel bitmap converted with "256 px only" is a 90-pixel bitmap blown up, and it looks like one. The default set never runs into that, since almost every bitmap is larger than 48 pixels. Far above 512 you are handing the resampler more detail than it can keep, which does not improve the outcome either.
Square matters too, though not for the reason it used to. Every entry is square, and a 1000 by 400 bitmap is centred on that square at the largest scale that fits, with transparency filling the space above and below — so it is not stretched and not cropped. It is drawn small: two fifths of the height of the icon, in a slot where the neighbours fill theirs. Crop or pad the artwork to a square in an editor first, with transparency rather than white unless you are certain what will sit behind it. A wide wordmark almost never works as an icon at all; the usual answer is to use the initial or the symbol from it instead.
For a website, the root of the domain as favicon.ico is still fetched by browsers whether or not the page links to it, and a link element in the head points at it explicitly. For a Windows application the ICO goes into the resources the build embeds; for a shortcut it can live anywhere the shortcut can reach.
The registry classes ICO as niche and lists its use as the web, which is the honest description in 2026: it is a format kept alive by one filename and one operating system convention. Everywhere else, a PNG is the icon.
If the logo exists as an SVG, that is the better source and it is a different page. Vector artwork is rendered rather than resampled on the way in, so the 256-pixel image every size is made from has clean, once-antialiased edges instead of the edges of whatever exported the bitmap — and that difference is still visible after the reduction to 32.
The bitmap route is right when the vector does not exist — the artwork was drawn in a raster tool, or the only copy is what an old toolchain exported. That is a common situation and this page exists for it, but it is worth thirty seconds of looking for the vector first.
The bitmap is decoded by the browser, scaled in a canvas once per size, encoded as a PNG each time and wrapped in the ICO container, all in the same tab. There is no upload, no account and no daily allowance, and the whole thing finishes faster than a server-based converter would take to receive the file.
It matters more than the size of the job suggests, because icons are branding work and branding work is routinely under embargo. A logo for an unannounced product is exactly the kind of file that should not be handed to a third party in exchange for a scaling operation your browser can do.
| BMP | ICO | |
|---|---|---|
| Full name | Windows Bitmap | Windows Icon |
| File extension | .bmp, .dib | .ico |
| Media type | image/bmp | image/x-icon |
| Compression | Uncompressed | Lossless — nothing is discarded |
| First published | 1987 | 1985 |
| Published by | Microsoft | Microsoft |
| Licensing | Published, not standardised | Published, not standardised |
| Standing today | Legacy, still read everywhere | Niche |
| Bit depth | 8 | 8 |
| Colour it can describe | RGB, indexed palette | RGB, indexed palette |
| Largest image | — | 256 px per side |
| Opens in a browser | Every browser | Every browser |
| Considered instead | PNG, TIFF | PNG, SVG |
ICO supports transparency and BMP does not. That is room the result has and the original never used — converting does not create a transparent background, it only makes one possible afterwards.
GIMP reads both BMP and ICO, so there is a way to check the result against the original without a second tool.
ICO packs the same samples into roughly half the space. Nothing is discarded — decode it and you get the BMP back bit for bit — which makes it the better shelf for anything you intend to keep.
The two are aimed at different work: BMP at moving data between programs, ICO at the web. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.
BMP is Microsoft's format, published in 1987. It records 8 bits per channel.
ICO comes from Microsoft and dates from 1985. GIMP and IcoFX all read it.
No. This conversion runs entirely inside your browser, so the file never leaves your device. You can confirm it yourself: open the network tab of your browser's developer tools and convert something. You will see the page load, plus the analytics and advertising the site is paid for with — and nothing carrying your file. The engine behind this particular pair is jSquash, WebAssembly builds of the reference image codecs; your browser fetches it once and caches it.
As many as you ask for. The "Icon sizes" control defaults to the classic three — 16, 32 and 48 pixels, written into one file as three separate images — and also offers all six common sizes up to 256, or a single 256-pixel entry for a build tool that wants one.
256 pixels on the longest edge. That is the ceiling in the ICO format itself — the size field is a single byte, and 256 is written as zero because it does not fit. Anything larger is scaled down and the extra detail is discarded.
Because the bitmap did. Most BMP files are 24-bit and hold no transparency at all, so whatever the artwork was sitting on is part of the picture. A converter cannot separate a logo from its background; that has to be done before the file becomes a BMP.
Yes. The 32-bit BMP variants carry an alpha channel and ICO carries one too, so a bitmap that genuinely has a transparent background produces an icon that does.
A PNG per size, behind a directory that says where each one starts. The format also allows a raw bitmap payload — that is what it originally meant — but every Windows since Vista reads a PNG inside an ICO and the file comes out a fraction of the size.
No. The decode, the scaling and the PNG that goes inside the ICO all happen in your browser. An icon is a small job, so the whole thing is finished before a server-based converter would have finished the upload.