ICO Generator
Pack a PNG source image into a standard ICO container locally: classic three frames (16/32/48), minimal two, or all six sizes up to 256, with a single custom size also supported. Download as favicon.ico right away.
The little icon in a browser tab, a site's mark in a bookmarks bar, a shortcut on a desktop — all of them use ICO, and one file has to carry several sizes: 16 pixels for the tab, 32 for the taskbar, 48 for the desktop. This tool scales a clear PNG source into the individual frames and packs them into a standard ICO container, ready to download without installing a converter.
ICO frames are square, so a non-square source is padded to a square on its longest side, centred, before scaling — crop it square first if the padding is unwelcome. A source of at least 256 pixels with a clean background works best, since small frames blur detail, and logo-like shapes on a flat or transparent background come through best. A favicon.ico conventionally sits at the site root, and browser caches are stubborn about icon changes.
Did this tool solve your problem?
Submitting sends the tool name, your input and the current result to the server. Please do not include ID numbers, phone numbers or other private data.
AI assistant It answers using your current input and result
Asking again sends your current input and result to the server once more. Please do not include private data.
How to use
- Load a PNG source — 256 pixels or more, with a clean background.
- Choose the frame set: classic three (16/32/48), minimal two, all six, or a single custom size.
- Check the resulting frame list.
- Download favicon.ico.
How it works
Choosing a size set
"Classic three frames (16/32/48)" covers browser tabs, bookmarks and desktop shortcuts — the traditional favicon.ico set; "full six frames" adds 64/128/256 for Windows application icons; single size generates exactly one dimension you name.
What makes a good source image
Aim for square, flat or transparent, at least 256 pixels. Each ICO frame scales from the source — undersized sources blur in small frames; logos heavy on text become unreadable at 16 pixels, so favor the graphic mark as the source.
Installing the favicon
Drop the downloaded favicon.ico into the site root and most browsers request it automatically; for an explicit reference add a link tag in the page head with rel=icon and href to the root favicon.ico. Icon changes cache stubbornly — hard-refresh or use an incognito window.
ICO vs. PNG favicons
Modern browsers accept plain PNG favicons, simpler when compatibility allows; but some older browsers, desktop contexts and Windows shortcuts still demand ICO — for universal recognition, generate an ICO here.
Code example
JavaScript Pack several sizes into one ICO
// ICO = directory + several images (usually 16/32/48/256); PNG is allowed since Vista
async function packIco(bitmaps) {
const pngs = [];
for (const bmp of bitmaps) {
const canvas = document.createElement('canvas');
canvas.width = bmp.width;
canvas.height = bmp.height;
canvas.getContext('2d').drawImage(bmp, 0, 0);
pngs.push(new Uint8Array(await (await new Promise((r) => canvas.toBlob(r, 'image/png'))).arrayBuffer()));
}
const header = new Uint8Array(6 + 16 * pngs.length);
const dv = new DataView(header.buffer);
dv.setUint16(0, 0, true); // reserved
dv.setUint16(2, 1, true); // type = 1 (icon)
dv.setUint16(4, pngs.length, true); // image count
return { header, pngs }; // fill width/height/offset/length per entry, then concat
}
Python One-liner ICO with Pillow
from PIL import Image
img = Image.open('logo.png').convert('RGBA')
# pass several sizes and Pillow scales and packs them all into one .ico
img.save('favicon.ico', format='ICO', sizes=[(16, 16), (32, 32), (48, 48), (256, 256)])
FAQ
Is the image uploaded?
No. Scaling and ICO packing happen locally — even confidential, not-yet-released logos generate safely.
Can the source be JPG?
Yes — it routes through the canvas before scaling. But JPG lacks transparency, so icons carry a white box; a transparent PNG makes the better source.
Why do small sizes look blurry?
16 pixels is a few hundred dots — even the sharpest source loses detail at that scale. It's physics: simplify the mark, thicken lines, drop fine text.
How many sizes fit in an ICO?
This tool offers six frames from 16 to 256, covering websites and Windows. More frames mean bigger files — three frames suffice for a site icon.
The favicon won't show — what now?
Check in order: file at root named favicon.ico, a link reference on the page, browser cache (test in incognito), and the server's .ico content type. Nine times out of ten it's the cache.
Can it make the Apple touch icon?
That's a single 180x180 PNG — no ICO container needed. Resize the source to 180x180 with the image resizer, export PNG, name it per convention and place it at the root.
Are generation records saved?
No. Packing is pure local computation — the server never touches your source image. Recent-use history lives only in your browser's local storage.