Convert PNG to ICO with a pure JavaScript multi-size ICO binary writer. Embeds 16×16, 32×32, 48×48, 64×64, and 256×256 images in a single ICO file. Perfect for favicons. No server upload — fully browser-based.
Upload a PNG image — ideally 256×256px or larger for best results at all ICO sizes. The tool generates all standard ICO sizes from your single source image using high-quality downscaling.
Select which sizes to include in the ICO file: 16×16 (browser tab), 32×32 (taskbar), 48×48 (desktop icon), 64×64 (large desktop), 256×256 (high-DPI). All selected sizes are embedded in a single ICO container.
The ICO file is generated entirely in your browser using a custom binary writer. Download it as favicon.ico and place it at the root of your website, or use it as a Windows application icon.
ICO is a container format for Windows icons and web favicons. It can store multiple images at different resolutions and bit depths in a single file. Modern ICO files typically embed PNG-compressed images for the 256×256 size and BMP-format images for smaller sizes. Web browsers read favicon.ico and display the most appropriate size for the context (tab vs bookmark vs desktop shortcut).
Use a PNG of at least 256×256px, ideally 512×512px or 1024×1024px. The tool downscales from your source to generate each ICO size. Starting with a larger source means better anti-aliasing and sharper results at small sizes like 16×16. If your logo has fine detail, test the 16×16 preview — you may need to simplify the design at that size.
Place favicon.ico at the root of your domain (https://yourdomain.com/favicon.ico). Then add to your HTML head: <link rel="icon" href="/favicon.ico" sizes="any">. Browsers will automatically look for favicon.ico at the root even without a link tag. For better control, also add PNG favicon links: <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">.
This tool creates a genuine ICO binary file using a JavaScript ICO encoder. It writes the correct ICO header, ICONDIRENTRY records for each size, and embeds PNG-compressed image data for each size. The output is a valid multi-size ICO file that Windows Explorer, browsers, and icon editors can open correctly.
At 16×16px, most logos and complex designs lose clarity through downscaling. To fix this: simplify your design to just a letter or simple icon, increase contrast between elements, remove thin lines that disappear at small sizes, and use strong, bold shapes. Many brands use a simplified monogram or lettermark for their 16×16 favicon rather than their full logo.
favicon.ico is the classic format supported by all browsers including very old ones. It can contain multiple sizes in one file. favicon.png is simpler — one size, one file — and is supported by all modern browsers. The recommended modern approach is to have both: favicon.ico (with 16×16 and 32×32) for legacy browsers, and <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> for modern browsers.