Favicon Generator

One source image in, every size your visitors' devices actually ask for out — plus the HTML and manifest snippet to wire it up.

Drop one square image

PNG, JPG, WebP or SVG — 512×512 or larger recommended


          
        

          
        

Everything is generated in your browser. Nothing is uploaded.

Why one favicon is never enough

The favicon looks like a single 16×16 icon. In practice a modern site is asked for that icon at six or more sizes, by contexts that have nothing in common with each other.

Who asks for what

  • 16×16 and 32×32 — browser tabs and the address bar. On a high-DPI display the 32 px asset is what actually gets rasterised, even for a slot that is nominally 16 px.
  • 48×48 — Windows taskbar and desktop shortcuts, plus what Internet Explorer-era code paths still request via favicon.ico.
  • 180×180apple-touch-icon, used when someone adds your site to an iOS home screen.
  • 192×192 and 512×512 — Android and the web app manifest. 512 is also what some platforms request for splash screens and store listings.
  • SVG — increasingly the right answer for the browser tab itself, since it scales to any density from one file.

Ship only a 16×16 and every one of those other contexts upscales it. Upscaling a 16 px raster to 180 px produces exactly the blur you would expect.

The ICO file: a container, not a format

This trips people up constantly. favicon.ico is not an image format in the way PNG is — it is a small container that can hold several images at different resolutions. Historically it held BMP data; since Windows Vista it can hold PNG data, which is what modern generators produce and why a well-built ICO can be smaller than the sum of its parts.

Browsers still request /favicon.ico by default when no icon is declared. That default request is why you should either provide the file or explicitly declare an icon — otherwise you get a 404 in your logs from every visitor, forever.

Apple's icon is the awkward one

iOS applies a rounded-corner mask and, on older versions, a gloss highlight to apple-touch-icon. It does not add padding. If your icon has content touching the edges, iOS will clip it. The fix is to author that size with a few percent of transparent margin built in — which is why a single auto-cropped square is not always the ideal source for the 180 px variant.

The manifest, and why it matters beyond icons

A manifest.webmanifest declares your icon set, name, colours and display mode. With it, Android offers "Add to Home Screen" and Chromium-based desktop browsers offer installation. Without it, you have icons but no installable app. The icons entry wants both 192 and 512, and the 512 should be "purpose": "any maskable" if you have a maskable variant, because Android will otherwise crop it unpredictably.

The update problem

Favicons are cached aggressively — sometimes more aggressively than the rest of your site. Changing the file without changing the URL often means visitors keep seeing the old icon for weeks. Append a version query (/favicon-32.png?v=2) or change the filename whenever the icon changes. Similarly, if you want to check what a social platform has cached of your site, that is a separate cache with its own debugger tool.

Choosing a source image

Start from square artwork, ideally 512×512 or larger, with the important content inset from the edges. Detail that reads at 512 will vanish at 16 — favicons that survive shrinking are built from a bold silhouette, not from a detailed illustration. If you only have a detailed logo, consider a simplified variant for the small sizes rather than accepting mush.

Frequently asked questions

What size should my source image be?
At least 512×512 and square. Larger is fine — this tool only ever scales down, never up, so a bigger source cannot produce a worse result. Non-square sources are centre-cropped to a square, so check the preview if your subject is off-centre.
Do I really need all these sizes?
For a personal project, the pragmatic minimum is an SVG for browsers plus a 180×180 PNG for iOS. For anything public-facing, the full set costs a few kilobytes and removes an entire category of "looks broken on my phone" reports.
What is a maskable icon?
Android may apply its own mask — circle, squircle, rounded square — to your icon, and it can crop up to the edges of a safe zone. A maskable icon keeps its important content inside the central safe area so it survives any of those masks. If you supply one, declare it in the manifest with "purpose": "maskable".
Why does my icon look blurry on high-DPI screens?
Almost always because only a 16×16 asset exists and it is being upscaled. Provide a 32×32 as well, and prefer an SVG for the browser tab, which is resolution-independent by definition.
I replaced the file but visitors still see the old icon.
Favicon caching is aggressive and browser-specific. Change the URL, not just the file — add a version query string or rename the file. Clearing your own browser cache during development is not a fix your visitors get.