PNG to ICO Converter
Convert PNG images to Windows Icon (ICO) files (Favicon generator) instantly in your browser. Fast, secure, and entirely client-side.
Click or drag PNG here
Supports up to 50MB
Convert PNG images to Windows Icon (ICO) files (Favicon generator) instantly in your browser. Fast, secure, and entirely client-side.
Supports up to 50MB
ICO is the format Windows expects for desktop application icons and the format browsers historically expect for favicons (link rel=icon, /favicon.ico). Generating a proper ICO file means bundling multiple sizes of the same image into a single container so that the operating system or browser can pick whichever resolution it needs. A favicon ICO typically includes 16×16, 32×32, and 48×48; a desktop application ICO usually adds 64×64, 128×128, and 256×256.
This converter takes one or more PNG files and writes a properly structured ICO file in your browser. The ICO directory and each embedded image's metadata are constructed in JavaScript using a binary buffer; PNG entries are embedded directly, while smaller sizes can optionally be re-encoded as BMP-style DIBs for legacy compatibility. The output is a standard ICO file accepted by Windows Explorer, Visual Studio, web browsers, and any other tool that consumes ICO.
All processing happens locally. The PNGs are read into the browser, the ICO byte stream is constructed in memory, and the result is offered as a download. No server upload, no temporary file storage, no external dependency.
If you maintain a Windows application, the executable's icon must be an ICO file embedded in the binary's resources. Compiled PNG resources are not equivalent. Generating a proper ICO from your PNG masters is the standard packaging step before linking the icon into the executable.
For favicons, modern browsers also accept PNG via link rel=icon, but /favicon.ico is still the legacy fallback that older browsers and many automated tools (RSS readers, social previews, search engine crawlers) check first. A site without a /favicon.ico file generates 404 noise in server logs and may fail to display correctly in older clients. Producing the file is a five-second task; not producing it costs ongoing log spam.
Upload your PNG masters, choose which sizes to bundle, generate.
An ICO file consists of a 6-byte ICONDIR header (reserved=0, type=1 for ICO, count=number of images), followed by 16-byte ICONDIRENTRY records, followed by the image payload. Each ICONDIRENTRY specifies width and height (with 0 meaning 256), color count, planes, bit depth, payload size, and offset.
Each image payload is either a complete PNG file (PNG signature 0x89504E47 at the start) or a BMP-style DIB. Modern conversion tools, including this one, embed PNG for sizes 64×64 and above and BMP for smaller sizes, matching the convention Windows expects.
The browser does the heavy lifting: PNG decoding to bitmap via canvas, resizing via canvas drawImage with smoothing enabled, and final ICO assembly via DataView writes to a binary buffer. The buffer is wrapped as a Blob with type 'image/x-icon' and offered as a download.