Free Favicon Generator
Upload a logo or generate one from initials, and get a complete favicon package: a real multi-resolution .ico, every PNG size modern browsers and phones ask for, a web app manifest, and the exact HTML tags to paste into your site’s <head>.
16×16 and 32×32 for browser tabs, 48×48 for Windows shortcuts, 180×180 for iOS home screen, 192×192 and 512×512 for Android and PWA manifests.
Upload the downloaded ZIP’s contents to your site’s root (or an /icons folder and adjust the paths), then paste this snippet into every page’s <head>.
A real multi-resolution .ico file, not just a renamed PNG
A lot of “favicon generators” just resize your image to 32×32 and slap a .ico extension on a PNG. That works in most modern browsers, but it isn’t actually a valid ICO file, and it means a single low-resolution image gets stretched for every context that expects an icon, from a browser tab to a Windows taskbar shortcut. This tool builds a real Microsoft Icon (.ico) container, the same binary format Windows itself uses, embedding three separately rendered resolutions (16×16, 32×32, 48×48) inside one file so whatever’s displaying it can pick the size that actually looks sharp.
How the .ico file is actually built
Each resolution is rendered independently onto its own canvas at its native pixel size, not scaled down from a single large render, so small sizes like 16×16 get their own crisp pass rather than a blurry downsample. Each canvas is exported as PNG bytes, then packed into the ICO container format directly: a 6-byte header declaring the icon type and image count, followed by one 16-byte directory entry per image describing its dimensions and byte offset, followed by the actual PNG data for each size back to back. Storing PNG data inside an ICO entry (rather than raw uncompressed bitmap data, which is how ICO originally worked in the 1990s) has been supported since Windows Vista and is what every modern favicon needs.
Generate from an image, or generate from initials
Upload mode takes your logo, centres and crops it to a square if it isn’t already one, and renders that square at every required size. Initials mode skips the upload entirely: pick one to three characters, a shape, and two colours, and the tool draws a simple lettermark icon directly on canvas, centring the text and auto-shrinking it to fit if you use three wide characters. This is enough for a placeholder icon or a genuinely minimal brand mark without needing design software.
What’s in the downloaded package
Where the work happens
Library and references
- ICO file format reference for the binary structure this tool writes.
- JSZip bundles every generated file into one downloadable archive.
- Web App Manifest reference for the site.webmanifest fields this tool generates.
Where this gets used
Setting up icons for a brand-new site that only has a square logo, generating a quick placeholder mark for a project that doesn’t have a real logo yet, or replacing an old favicon that only ever had a single blurry 32×32 PNG.
FAQ: Free Favicon Generator
Upload the whole ZIP’s contents to your website’s root folder (the same level as index.html), then paste the provided HTML snippet into every page’s <head>.
It’s a genuine ICO container with three separately rendered resolutions (16, 32 and 48 pixels) packed inside, not a single image renamed with a .ico extension.
Yes, switch to “Generate from initials”, pick up to three characters, a shape and two colours, and the tool draws a simple icon for you.
512×512 pixels or larger, and square, works best. Smaller or non-square images still work but may look softer at the largest generated sizes.
No, every size is rendered locally in your browser using Canvas, and the package is zipped locally too. Nothing is sent to a server.
From the blog
Notes on images and colour
Format choices, compression tradeoffs and accessible palettes.