Create Windows .ico icon files from standard images
Unlike a standard PNG or JPEG, an .ico file is a Container Format. It doesn't hold just one image; it is specifically designed to hold dozens of the exact same image at different resolutions simultaneously.
When this tool generates an ICO file, it first writes a binary "Icon Directory" header to the file buffer.
This header acts like a table of contents, telling the operating system: "Hey, inside this file, there is a 16x16 version, a 32x32 version, and a 256x256 version." This allows Windows to instantly pull out the 16x16 version for a browser tab, but grab the 256x256 version if you drag the icon to your Desktop.
Historically, the images inside the ICO file had to be encoded as raw, uncompressed Bitmaps (BMP), making ICO files quite large.
However, since Windows Vista, you are allowed to simply embed standard, compressed PNG files directly inside the ICO container. Our tool takes your original image, resizes it using an OffscreenCanvas into your chosen resolutions, encodes them all as standard PNGs, and concatenates them behind the directory header into a single downloadable binary blob.
Why is an ICO file fundamentally different from a JPG or PNG?