Favicon Generator
Upload an image and get a complete favicon set — six PNG sizes, each previewed and individually downloadable — plus the exact HTML to paste into your site's <head>. Nothing you upload ever leaves your browser.
Your favicon set
Paste this into your <head>
Save each downloaded file to your site's root folder with its exact filename, then add these tags:
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png">
<link rel="manifest" href="/site.webmanifest">
The 512×512 file isn't linked with a <link> tag — it belongs
in the icons array of your site.webmanifest
file, referenced by the rel="manifest" line above,
for PWA install icons and splash screens.
One image in, a full favicon set out
Modern sites need more favicon sizes than the old single 16×16 .ico file ever covered: a crisp icon for browser
tabs, a larger one for Windows shortcuts, an Apple touch icon
for the iOS home screen, and Android/PWA icons for app
installs. This tool draws your uploaded image onto a canvas at
each of those exact sizes and lets you download every result as
its own PNG — no server round trip, and no legacy binary format
to get wrong.
Worked example
Upload a 512×512 square logo. The tool
immediately renders it at 16×16, 32×32, 48×48, 180×180, 192×192, and back down
to 512×512 — six labeled previews, each with its
own download button and correct filename already filled in. Save
the six files next to your site's index.html, paste
the six-line snippet into your <head>, and every
platform — browser tabs, iOS home screen, Android/PWA installs —
picks up the right size automatically.
Frequently asked questions
Does this produce a .ico file?
No — it produces individual PNG files at each standard size (16×16 up to 512×512), not a legacy multi-resolution .ico container. That's a deliberate, honest choice: every browser in use today accepts PNG favicons directly, so a correctly-sized PNG set is current best practice, not a compromise. Writing a byte-correct .ico file is its own binary container format, and we'd rather give you files that are guaranteed to work than fake a format we can't verify byte-for-byte.
Will PNG favicons actually work in every browser?
Yes, for any browser released in the last several years. The .ico requirement is a holdover from very old Internet Explorer versions; every modern browser (Chrome, Firefox, Safari, Edge) reads PNG icons referenced with a plain <link rel="icon"> tag just fine, which is exactly why sites like GitHub and Google ship PNG favicon sets instead of .ico today.
My source image isn't square — will the icons look stretched?
Yes. Each size is generated by drawing your image directly onto a square canvas of that exact size, so a non-square source gets stretched to fit. For the cleanest result, crop your source image to a square first — our Image Cropper tool can do that in a few seconds — then run it through this generator.
Is my image uploaded anywhere?
No. The file never leaves your device — it's decoded and redrawn at each size using the browser's own Canvas API, and every download is generated locally. Nothing is sent to a server, stored, or logged.