Product favicon
- Input
- A 1024×1024 transparent PNG mark with a simple two-color glyph and no text.
- Output
- A favicon.ico containing 256, 48, 32, and 16 px entries. The 16 px glyph stayed recognizable.
PNG → ICO packages one source icon into Windows-style favicon sizes instead of making a single resized PNG.
From real runs
| Element | Result | What happens |
|---|---|---|
| Icon sizes | Changed | The ICO contains generated 16, 32, 48, and 256 px renditions from the source PNG. |
| Alpha channel | Kept | Transparent and semi-transparent PNG edges remain transparent in the ICO entries. |
| Canvas shape | Kept | Square source art maps cleanly to icon sizes; non-square art is resized into square entries and can look padded or squeezed. |
| Fine detail | Changed | Small entries such as 16 px necessarily simplify text, thin strokes, and detailed illustrations. |
| Large source quality | Kept | A square source at least 256 px wide gives the largest ICO entry enough pixels before downscaling. |
| PNG metadata | Lost | The ICO is an icon container; do not expect PNG text metadata to be preserved. |
The ICO contains generated 16, 32, 48, and 256 px renditions from the source PNG.
Transparent and semi-transparent PNG edges remain transparent in the ICO entries.
Square source art maps cleanly to icon sizes; non-square art is resized into square entries and can look padded or squeezed.
Small entries such as 16 px necessarily simplify text, thin strokes, and detailed illustrations.
A square source at least 256 px wide gives the largest ICO entry enough pixels before downscaling.
The ICO is an icon container; do not expect PNG text metadata to be preserved.
We converted our PNG sample (20 KB) with Image engine on 2026-10-20. It took 116 ms and produced a 12 KB ICO file, 43% smaller than the input. The engine raised 1 warning, listed below.
Input · sample.png · 20 KB
1200 × 800 px, 8-bit, colour type 6
Output · sample.ico · 12 KB
256 × 171 px, 1 size: 256×171
ImageMagick 7
magick in.png -define icon:auto-resize=256,48,32,16 favicon.icoStart with a square source; automatic resizing cannot redesign detailed art for 16 px.
Pillow 11
from PIL import Image
Image.open("in.png").save("favicon.ico", sizes=[(256, 256), (48, 48), (32, 32), (16, 16)])Inspect the smallest entry manually; icon downscaling can make thin marks disappear.
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=png&to=ico.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.png" -F "from=png" -F "to=ico" \
-F 'options={"dpi":96}' \
--output output.ico| Key | Applies to | Type | Default |
|---|---|---|---|
| dpi | Reading PNG | number | 96 |
| width | Writing ICO | number | 0 |
| height | Writing ICO | number | 0 |
| fit | Writing ICO | contain · cover · fill | contain |
| quality | Writing ICO | number | 90 |
| background | Writing ICO | string | #ffffff |
| stripMetadata | Writing ICO | boolean | true |
Use a square PNG at least 256×256. Larger square sources are fine; tiny or rectangular sources make weak icon entries.
Yes. Alpha from the PNG is preserved in the generated icon sizes.
Downscaling cannot preserve small words or thin detail. Favicons usually need a simplified mark for the smallest size.
Yes. This conversion creates 16, 32, 48, and 256 px entries inside one ICO file.