Convert ICO to WebP

Converting ICO to WebP pulls the largest picture out of the icon container and re-encodes it as a WebP with its transparency intact, which is what you want when an icon has to be served as an ordinary image alongside the rest of a site’s assets. Everything runs in your browser.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. WebP cannot hold everything an ICO can.
  • File size limit Up to 100 MB per file, free, without an account.

Up to 100 files at once. Mixed formats are fine.

What ICO to WebP actually does

A generated landscape with a low sun and three ridges, used to show what JPEG does to continuous tone. Shown as ICO.

ICO139 KB

A generated landscape with a low sun and three ridges, used to show what JPEG does to continuous tone. Shown as WebP.

WebP14 KB9.7× smaller

A photographic scene — smooth gradients, soft edges, grain. This is the case WebP is designed for or against, and the figures show which. Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.
A generated badge: a circular gradient on a transparent background with a white bar across it, used to show what each format does with transparency and with hundreds of shades. Shown as ICO.

ICO7 KB

A generated badge: a circular gradient on a transparent background with a white bar across it, used to show what each format does with transparency and with hundreds of shades. Shown as WebP.

WebP4 KB38% smaller

A transparent background and a gradient across the shape. WebP either keeps both, keeps one, or fills the transparency with a solid colour — which is the difference that catches people out. Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.
A generated application window with a sidebar, a table and a bar chart, used to show what JPEG does to flat colour and hard edges. Shown as ICO.

ICO3 KB

A generated application window with a sidebar, a table and a bar chart, used to show what JPEG does to flat colour and hard edges. Shown as WebP.

WebP11 KB4.1× larger

Flat colour and hard edges, as in an interface, a chart or a logo. Very different behaviour from the photograph above, and the reason the answer is "it depends what is in the file". Both images are drawn in code and encoded by the same converter that runs on this page, so the sizes are this site's own output.

You are retiring the icon container, not renaming the file

An ICO exists to answer a question the operating system asks: give me this mark at the size I need right now. It answers it by storing several drawings in one file with a directory at the front. A WebP answers no such question — it is one picture, at one size, meant to be placed by a stylesheet.

So the conversion is a change of role as much as of format. What you get is an image asset that behaves like every other image on the page: it can be given a width, put in a srcset, cached with a fingerprinted name. What you give up is the operating system’s ability to pick a size for you, which on a web page it was never doing anyway.

The alpha channel is the reason to pick WebP over JPEG here

WebP carries a full eight-bit alpha channel, so a cut-out mark, a rounded tile or a soft shadow arrives intact and drops onto whatever background the page has. On a test icon the corner pixel of the resulting WebP reads 0,0,0,0. The file written is the extended VP8X form, which is what makes room for the alpha data alongside the colour.

That single property rules out JPEG for this job entirely, and it is worth saying because the two formats are otherwise close relatives in how they compress. If the icon has no transparent pixels at all — a square tile with a solid background — the argument is much weaker and either would do.

The default quality is set for photographs, not for flat marks

The quality setting starts at 82, which is a sensible middle for a photograph and a little low for artwork made of flat fills and hard boundaries. Lossy compression works by discarding detail the eye is unlikely to miss, and on a photograph that detail is texture. On an icon it is the edge of a letterform.

At 256 pixels the whole file is a few kilobytes, so there is almost nothing to defend by keeping the quality down. Push it towards 95 or higher and the outlines stay crisp for a cost measured in single-digit kilobytes.

WebP does not beat PNG at icon sizes, and it is honest to say so

The usual case for WebP is that it produces roughly a quarter to a third fewer bytes than the alternative at equivalent quality. That case is built on photographs, and it does not carry over to small flat artwork, where PNG’s combination of filtering and run-length compression is extremely hard to improve on.

Measured on the same 256-pixel test icon: 3,054 bytes as WebP against 1,737 bytes as PNG — the WebP is roughly three quarters larger and it is the lossy one. If the reason for this conversion was to save bandwidth, it is not going to. If the reason is that the build pipeline emits WebP and the icon needs to match, that is a good reason and the few kilobytes do not matter.

The picture that comes out, and the ceiling it cannot pass

Your browser decodes the icon and returns its largest entry, which is what gets encoded. That was checked by constructing a file with 16, 32, 48 and 256 pixel drawings in four distinct colours and converting it with the directory in three different orders — the 256-pixel drawing came out every time.

The ceiling is 256 pixels and it belongs to the ICO format: an entry stores its width in a single byte, with zero standing in for 256. WebP itself reaches 16,383 pixels, so nothing on the target side is limiting you. If you need a larger image, the icon file is not where it lives.

A favicon is not a header logo, whatever format it is in

The most common disappointment with this conversion is a mark that looks fine as a browser tab and blurry in a 200-pixel header slot. That is not the encoder; it is that the icon was drawn for tabs. Small icon entries are often redrawn rather than scaled — strokes aligned to whole pixels, detail removed — so enlarging one gives you a simplified drawing at low resolution.

Check the pixel dimensions of the result before you place it. If it is 32 pixels, the honest options are to display it at 32 or to go and find the original artwork; the maximum-width setting here only ever shrinks, and no converter can add detail that was never stored.

Where WebP earns its place in an icon pipeline anyway

Consistency is a real engineering benefit even when the byte count is not. A site that serves one format for every raster asset has one cache policy, one build step, one set of content negotiation rules and one thing to test. Adding a PNG exception for six icons costs more in complexity than it saves in kilobytes.

The other genuine case is a large icon set. Sixty integration tiles at three kilobytes each is 180 kilobytes, and if they load together the difference against the PNG equivalent is measurable — but note that in that comparison PNG is ahead, so the reason to standardise is the pipeline, not the arithmetic.

Serving the WebP alongside the icon it came from

Converting does not mean deleting. Browsers still request /favicon.ico from the root of every site whatever the HTML declares, so keep the original where it is and treat the WebP as a separate asset with a different job. They are not two versions of one file; they are two files that happen to show the same mark.

In the markup, the WebP goes in an img or a picture element like any other image, and the icon stays in a link element in the head. Mixing the two — pointing a favicon link at a WebP — works in current browsers and fails in enough tooling that it is not worth the saving.

Converting a library of icons in one pass

Drop the whole folder and each file is decoded and encoded on its own, with the results returned as a ZIP. The quality setting applies to all of them, which is what you want for a grid of tiles where a single softer entry would be more noticeable than any of them being slightly imperfect.

The dimensions will not be uniform unless the source set was. Icon collections assembled over years mix files that carry a 256-pixel entry with files that stop at 32, and the WebPs inherit that spread with no warning — worth checking in the ZIP before wiring them into a layout that assumes one size.

How to convert an ICO file into a WebP image

  1. Drop your ICO file onto this page, or click to choose one.
  2. Raise the quality if the mark has fine outlines.
  3. Download the WebP with its transparency intact.

ICO against WebP: an icon container against a delivery format

ICO compared with WebP
ICOWebP
Full nameWindows IconWebP Image
File extension.ico.webp
Media typeimage/x-iconimage/webp
CompressionLossless — nothing is discardedEither, depending on the setting
First published19852010
Published byMicrosoftGoogle
SpecificationRFC 9649
LicensingPublished, not standardisedOpen standard
Standing todayNicheCurrent
Bit depth88
Colour it can describeRGB, indexed paletteRGB, YCbCr
Largest image256 px per side16,383 px per side
Opens in a browserEvery browserEvery browser
Considered insteadPNG, SVGAVIF, JPG, PNG

What is lost

WebP holds one page. A multi-page ICO converts a page at a time rather than in one file.

What survives

Transparency survives. Both ICO and WebP store an alpha channel, so a cut-out stays cut out and nothing is filled in behind it.

Opening the result

GIMP reads both ICO and WebP, so there is a way to check the result against the original without a second tool.

What each format is for

ICO is Microsoft's format, published in 1985. It records 8 bits per channel.

WebP comes from Google and dates from 2010, specified as RFC 9649. Adobe Photoshop, GIMP and Squoosh all read it.

ICO was published in 1985 and WebP in 2010. The older one is generally the safer file to hand to somebody; the newer one usually does the job in fewer bytes.

ICO to WebP: quality, transparency and file size

Does the transparency survive into the WebP?

Yes, fully. WebP carries an eight-bit alpha channel and the file written here is the extended form that includes it. On a test icon the corner pixel of the result reads 0,0,0,0 — completely transparent, ready to sit on any background.

Is the WebP smaller than a PNG of the same icon?

Not at this size. Measured on a 256-pixel icon: 3,054 bytes as WebP at the default quality against 1,737 bytes as PNG. WebP’s advantage is real on photographs and disappears on small flat artwork, where PNG’s run-length compression is hard to beat.

Is the conversion lossy?

By default, yes — the quality setting defaults to 82. Raising it towards 100 removes the visible softening on hard edges at the cost of a larger file, which at these dimensions is a few kilobytes either way.

How large is the image I get?

The dimensions of the largest picture inside the icon file, and never more than 256 pixels, because that is the maximum an ICO entry can describe. Many favicons hold nothing bigger than 32.

Will old browsers fail to show it?

Every browser in current use reads WebP; support arrived across the board by 2020. If your analytics still show a meaningful share of much older clients, keep a PNG alongside it in a picture element rather than replacing the PNG outright.

Does the icon get uploaded?

No. The decoding and the WebP encoding both run in your browser, so the file stays on your machine from start to finish.

More about these formats

Where these figures come from

The claims this page makes about ICO and WebP are checkable, and these are the documents that settle them.