Initializing... drag & drop files here
Supports: APNG, PNG
You have an animated PNG — a logo loop, a sticker, an exported UI animation — and you need a Windows .ico: a favicon, a shortcut icon, or an application icon. ICO is a still format, so the job is really two things at once: lift one frame out of the animation, and write it at a size Windows and browsers expect. This page walks through both, then covers the size choices and the mistakes that produce a blurry or invisible icon.
.apng onto the drop zone or use the file picker. Files saved as .png that contain animation chunks are accepted too, which is how several exporters write APNG..ico. No sign-up and no watermark. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours.The 256-pixel ceiling is not a converter limitation — it is baked into the file format. An ICO directory entry stores width and height in a single byte each, and a stored value of 0 is defined to mean 256, so 256x256 is the arithmetic maximum the header can express. Windows Vista made that size practical by allowing the frame to be PNG-compressed inside the ICO instead of stored as a raw bitmap.
Which size you want depends entirely on where the icon lands:
| Size | Where it is used | Notes |
|---|---|---|
| 16 x 16 | Browser tab, address bar, small list views | The legacy favicon size; simplify the artwork or it turns to mush |
| 24 x 24 | Toolbar and small Windows UI slots | Rarely needed on its own |
| 32 x 32 | Windows taskbar, high-DPI browser tabs | The single most useful favicon size today |
| 48 x 48 | Desktop shortcuts, Explorer medium icons | The largest size Microsoft recommended for Windows XP |
| 64 / 128 x 128 | Explorer large icon views, installer artwork | Middle ground for desktop apps |
| 180 x 180 | Apple touch icon dimensions | Used when a site is added to an iOS home screen |
| 192 x 192 | Android and PWA home-screen icon dimensions | Referenced from a web app manifest |
| 256 x 256 | Explorer extra-large icons, high-DPI app icons | Format maximum; stored PNG-compressed |
A note on how a classic favicon works: favicon.ico is traditionally a bundle that carries 16, 32 and 48 in one file, and the browser picks whichever fits the slot it is drawing. This tool writes a single image into the ICO at the size you choose. For most modern sites one well-chosen 32-pixel icon plus a PNG apple-touch-icon is enough; if you specifically want the multi-size bundle, generate each size here and combine them in an icon editor.
.ico.| Property | Value |
|---|---|
| Full name | Windows Icon file format |
| Introduced | Windows 1.0, 1985 |
| Structure | An ICONDIR header followed by one ICONDIRENTRY per stored image |
| Maximum dimensions | 256 x 256 per entry, because width and height are single-byte fields |
| Colour depth | Up to 32-bit, with a full 8-bit alpha channel from Windows XP onward |
| Frame storage | Raw bitmap, or PNG-compressed (added in Windows Vista, mainly for 256 x 256) |
| Animation | Not supported — the separate ANI format handles animated cursors |
| Written here | One image, at the size you select |
| Best for | Favicons, Windows shortcut and application icons |
The file's default image. An APNG is a normal PNG whose IDAT stream holds a still picture, with the animation carried in extra acTL, fcTL and fdAT chunks around it; our decoder reads that still image. According to the PNG Third Edition specification, the default image is also the animation's first frame when the file includes an fcTL chunk before IDAT — and when it does not, the default image is deliberately outside the animation and can be a different picture entirely. That is why an APNG occasionally converts to a still you were not expecting.
No, and no converter can change that. The ICO container has no concept of frame timing — Windows handled animation with the separate ANI format for cursors. Animated favicons in general are barely worth pursuing — browser support for them is thin and most render a single frame regardless of what you supply. A crisp static icon is the practical choice.
Yes. ICO has supported 32-bit images with a full 8-bit alpha channel since Windows XP — the same alpha model APNG uses — so soft edges, drop shadows and anti-aliased curves carry across without a hard matte. The one thing to check is that your source really has alpha; a screenshot or a flattened export will bring its background with it.
Because the format cannot describe one. Each image inside an ICO is indexed by a directory entry whose width and height fields are one byte each, with 0 reserved to mean 256 — so 256 x 256 is the ceiling by construction, not by convention. Requests above that are clamped rather than rejected. If you need a larger app icon, use PNG: modern platforms take 512 and 1024 pixel PNGs directly.
32 x 32 is the best single choice today — it covers standard and high-DPI browser tabs and still scales down acceptably. Use 16 x 16 only if you are targeting the legacy slot specifically. For iOS home screens you want a 180-pixel image, and for Android or a PWA a 192-pixel one, both of which are in the preset list here.
Yes. A single-image .ico works as a shortcut icon, a folder icon, or an executable's icon. For those uses pick 48, 128 or 256 rather than a favicon size, so the icon stays sharp in Explorer's larger views. Remember that Windows caches icons, so a change may not appear until the cache refreshes.
Because ICO entries below 256 x 256 are conventionally stored as uncompressed bitmap data with a separate mask, while PNG data is DEFLATE-compressed. A 48-pixel icon is small either way, so the difference rarely matters — but it is why an ICO is not automatically smaller than the image it was built from.
Use ICO when Windows is involved, or when you want a file at the classic /favicon.ico path that every browser probes without being told to. Use PNG when you are declaring icons explicitly in HTML or a web app manifest, because PNG gives you arbitrary sizes and smaller files. If you need the still frame as a PNG rather than an icon, convert APNG to PNG instead.