Initializing... drag & drop files here
Supports: ICO
ICO is Microsoft's icon container: a directory of small bitmaps in one file, with each entry's width and height stored in a single byte — which is exactly why 256x256 is the ceiling. GIF is the 1980s palette format that everything still reads, capped at 256 colours per frame with one palette slot reserved for full transparency. The two formats are close cousins in scale, so this is one of the few icon conversions that loses almost nothing. This tutorial covers which controls on this page actually affect a single still icon, which do nothing, and the one quirk that catches people out with multi-size icon files.
.ico onto the page or click "+ Add Files" to browse. Several icons can be queued at once..gif. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours. No sign-up, no watermark.A single icon converts through an ImageMagick palette pass, so several controls that exist for other GIF jobs are inert here. This table is the honest map:
| Control | Effect on one still icon | Notes |
|---|---|---|
| Colors | Real — sets the palette size passed to the encoder | Leave it off for up to 256 colours; drop to 32 or 16 for flat artwork |
| Dither | No effect on this path | Floyd-Steinberg dithering is applied regardless when the palette is reduced |
| Image quality (%) (File Compression → Custom) | No effect on this path | GIF has no JPEG-style quality dial; palette size is the only lever |
| Image resolution (File Compression → Custom) | Real — resizes before palette reduction | "Keep original" keeps the icon's own pixel dimensions |
| Video Framerate | Only used when several icons are combined into one animation | Default 10 FPS |
| Combine? | Only used with more than one input file | "Single animation" by default |
| Property | ICO | GIF |
|---|---|---|
| Introduced | Microsoft, in use since the earliest Windows releases | CompuServe, GIF87a in 1987 and GIF89a in 1989 |
| Colours | Up to 32-bit (8-bit RGBA) per entry | Up to 256 per frame, chosen from a 24-bit palette |
| Transparency | 8-bit alpha on 32-bit entries; 1-bit mask on older ones | 1-bit — one palette index is either fully transparent or not |
| Animation | No | Yes, with per-frame delays and looping |
| Multiple sizes in one file | Yes | No, but multiple frames yes |
| Maximum dimensions | 256x256 per entry | 65,535 x 65,535 |
| Read by browsers | As a favicon | As an inline image everywhere |
.ico stores more than one size. Each stored bitmap becomes a frame of the GIF, and the canvas is set from the first entry, so larger frames get clipped. Re-save the icon with a single size — or convert the source artwork instead — to get a clean one-frame GIF.GIF is a good match for icon-scale artwork, but it is not always the right target. If the icon has soft anti-aliased edges or a drop shadow that must sit over an arbitrary background, GIF's single transparent colour will show its seams — ICO to PNG is the correct answer there, and ICO to WebP is the smaller modern option with full alpha. If you are trying to build a favicon rather than read one, go the other way with PNG to ICO. And if what you actually want is an animation built from several icons, upload them all at once and leave "Combine?" on "Single animation" rather than converting them one at a time.
Partly. GIF reserves a single palette index for transparency, so pixels are either fully see-through or fully painted. Fully transparent areas of the icon come through as transparent, but semi-transparent pixels — the anti-aliased ring around most modern icon artwork — are forced to one extreme or the other, which is what produces hard, slightly jagged edges. For a faithful alpha channel, convert to PNG or WebP.
Because an .ico is a container, not a single picture. If it stores 16x16, 32x32, 48x48, and 256x256 versions, each of those becomes a frame in the GIF, and the GIF's canvas is taken from the first entry so the bigger frames end up clipped. Saving the icon with only one size, or converting the original artwork, produces a normal single-frame GIF.
"Colors" (under "File Compression" → "Custom"). A GIF's size is driven almost entirely by its palette and pixel count, so cutting the palette from 256 to 64 or 32 shrinks flat icon artwork noticeably, and resizing under "Image resolution" cuts it further. The "Image quality (%)" slider on this page has no effect on a single still icon — GIF has no lossy quality parameter of the kind JPEG uses.
Not on a single still icon. When the palette is reduced, Floyd-Steinberg dithering is applied by the converter regardless of that switch. On flat icon artwork dithering rarely matters anyway; on icons with gradients it is what stops the gradient from banding into visible steps.
Upload all of them in one go and leave "Combine?" on "Single animation", then set "Video Framerate" — 10 FPS is the default, with everything from 1 FPS (slideshow) to 50 FPS available. Each icon becomes a frame in upload order. Choosing "Individual files" instead gives you one separate GIF per icon.
Usually, and often by a lot. Icon files carry a directory, per-entry headers, an AND mask, and frequently several copies of the same artwork at different sizes, while the GIF holds a single palette-indexed image with LZW compression. A single-size icon converted to a 256-colour GIF is normally a fraction of the original file.
Not from this page — this direction is icon to image. To build an icon, start from a square image at the size you need: PNG to ICO is the usual route, since PNG preserves the alpha channel that icon entries expect. Icon output is capped at 256x256, the maximum an icon directory entry can describe.
Files are uploaded over an encrypted connection, decoded and re-encoded on our servers, and deleted automatically a few hours later. No sign-up, no watermark, and files are never shared or made public. Icons are tiny, so this conversion is limited by nothing more than upload time.