Skip to content

WebP to ICO converter

WebP to ICO can package a decoded WebP asset as an icon, but current output is a single max-256 bitmap entry.

  • Converted with Image engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Icon entry size Changed

    The 420×260 WebP wrote a 7,685 byte ICO containing one 256×158 RGBA entry.

  • Alpha channel Kept

    The icon entry opened as RGBA, keeping transparent and semi-transparent WebP pixels.

  • Multiple favicon sizes Lost

    No 16×16, 32×32, or 48×48 entries were present in the ICO produced by the API.

  • WebP compression artifacts Kept

    Any lossy WebP artifacts are decoded into the bitmap and remain part of the icon image.

  • Aspect ratio Kept

    The 420×260 source stayed wide after thumbnailing, which can be unsuitable for square icon slots.

  • Animation Lost

    Animated WebP input would contribute its first frame only, because ICO does not store WebP animation timing here.

Sample conversions

Transparent WebP badge

Input
860 byte WebP, 420×260, lossless RGBA with transparent canvas around a badge graphic.
Output
7,685 byte ICO containing one 256×158 RGBA image. Transparency stayed, but the ICO was not a favicon ladder.

Wide web logo reused as icon

Input
A rectangular WebP brand asset chosen because it was the only available source.
Output
A wide icon entry after fitting inside 256 pixels. Cropping square before conversion would make better favicon art.

A real WebP → ICO run

We converted our WebP sample (23 KB) with Image engine on 2026-10-20. It took 54 ms and produced a 17 KB ICO file, 25% smaller than the input. The engine raised 1 warning, listed below.

Input · sample.webp · 23 KB

1200 × 800 px, extended VP8X

Width
1,200
Height
800
Encoding
extended VP8X

Output · sample.ico · 17 KB

256 × 171 px, 1 size: 256×171

Width
256
Height
171
Encoding
1 size: 256×171
  • Image metadata stripped from output.

Options and when to change them

width
Pre-render the WebP to a square or smaller size before the final ICO thumbnail step.
height
Use with width when you need a square icon entry instead of preserving a wide source ratio.
fit
Use cover to crop a rectangular WebP into a square icon canvas before saving.

Do it yourself

Pillow 11

bash
from PIL import Image, ImageOps

im = Image.open("asset.webp").convert("RGBA")
im = ImageOps.fit(im, (256, 256))
im.save("favicon.ico", sizes=[(256, 256), (48, 48), (32, 32), (16, 16)])

This crops square and writes multiple sizes, which differs from the single-entry API result we measured.

WebP to ICO by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=webp&to=ico.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.webp" -F "from=webp" -F "to=ico" \
  -F 'options={"dpi":96}' \
  --output output.ico

Options this engine accepts for WebP → ICO

KeyApplies toTypeDefault
dpiReading WebPnumber96
widthWriting ICOnumber0
heightWriting ICOnumber0
fitWriting ICOcontain · cover · fillcontain
qualityWriting ICOnumber90
backgroundWriting ICOstring#ffffff
stripMetadataWriting ICObooleantrue
API reference

When this is the wrong conversion

  • Use /convert/webp-to-png when the goal is an editable transparent bitmap rather than an ICO container.
  • Use /convert/png-to-ico from a square logo PNG when favicon quality matters at small sizes.
  • Keep WebP for web page images when old ICO consumers are not part of the requirement.

WebP to ICO questions

Does WebP to ICO keep alpha?

Yes for the tested file. The ICO entry opened as RGBA and retained transparent canvas pixels.

How many icon sizes are written from WebP?

The tested conversion wrote one 256×158 entry. It did not include the smaller favicon sizes browsers often request.

Can an animated WebP become an animated ICO?

No. This image path uses a still frame and ICO output does not carry WebP frame timing.