Favicon Generator
Turn any image into a full favicon set — .ico, PNG sizes, a web manifest, and the HTML to paste in — entirely inside your browser.
What does this generate?
Uploading one image produces a complete favicon set: a multi-resolution favicon.ico (16×16, 32×32, and 48×48 combined into one file), individual PNG sizes for modern browsers, an Apple touch icon for iOS home screens, Android Chrome icons, a site.webmanifest file, and the exact HTML <link> tags to paste into your page's <head>.
GuideHow to use it
Why a .ico file with multiple sizes?
Browsers pick the best-fitting size out of a favicon.ico's embedded images depending on where it's displayed — a browser tab, bookmark, or history entry — so bundling 16×16, 32×32, and 48×48 into one .ico file keeps it looking sharp everywhere that format is still used, alongside the separate PNG sizes modern browsers prefer directly.
Why it helpsFeatures & benefits
Why this runs entirely in your browser
Every size is rendered using the browser's own Canvas API, and the favicon.ico file itself is assembled byte-by-byte in JavaScript — no server, converter service, or upload is involved at any point.
Common uses
Generating a full favicon set for a new website, refreshing an outdated single-size favicon, or producing the icons a PWA manifest expects.
Frequently asked questions
A few things people usually want to know before trusting the numbers.
A square image works best — logos, app icons, or simple graphics with a clear focal point tend to hold up well once shrunk down to 16×16 pixels.
Place favicon.ico, the PNG files, and site.webmanifest in your site's root folder (or wherever the HTML snippet's paths point), then paste the snippet into your page's <head>.
Yes — it embeds 16×16, 32×32, and 48×48 PNG-compressed images inside one .ico container, which is the same format modern icon editors produce.
iOS and Android use their own larger icon sizes when a page is saved to a home screen, so the set includes those alongside the standard browser favicon sizes.
No. Every size is generated locally in your browser using the Canvas API. Nothing uploaded here is sent to a server, stored, or shared.