Research notes

Which favicon files a site needs in 2026

We logged what Chromium requests for eleven combinations of icon tags, then weighed the files a favicon set needs.

Updated 24 September 2026

Four files and four lines of HTML: favicon.ico, an SVG icon, the Apple touch icon and a web app manifest with two PNGs in it. That set is what our favicon generator makes, and on 24 September 2026 we checked it against what Chromium 153 actually downloads. With those four lines in place, Chromium fetched exactly one icon file, the SVG. It never touched favicon.ico, the Apple icon or the manifest.

So why ship the other three? Because they are for other browsers and for moments we couldn’t reproduce on a desktop: an older browser without SVG icons, an iPhone adding the site to its home screen, an Android phone installing it. The request log shows what one browser does; the rest of this page says which parts come from our tests and which from the makers’ own documents.

What Chromium asked for

We served eleven versions of one test page from a local server, each on its own address so nothing could be remembered between them, and logged every request the browser made in the 2.5 seconds after the page loaded. We ran each page four times: with and without a visible browser window, on a normal screen and on a high-density one. All four runs of every page matched.

Icon requests after one page load, Chromium 153.0.8010.12 on macOS, 24 September 2026. Eleven test pages, each run four times (with and without a window, at 1× and 2× pixel density); every run gave the same list
What the page linksWhat Chromium requested
Nothing at all/favicon.ico
Only the Apple touch icon/favicon.ico
Only a web app manifest/favicon.ico
favicon.ico/favicon.ico
icon.svgicon.svg
favicon.ico with sizes="32x32", then icon.svg, Apple icon, manifest (our set)icon.svg only
favicon.ico, then icon.svg, no sizesicon.svg, then favicon.ico
icon.svg, then favicon.ico, no sizesfavicon.ico only
icon.svg, then favicon.ico with sizes="32x32"icon.svg only
PNG icons at 16×16 and 32×3232×32 only, even on the 1× screen
An icon link to a file that doesn’t existThat missing file, and nothing else

Three things in that table changed how we write the tags. First, a page with no icon link still costs a request: Chromium asks for /favicon.ico at the top of the site on its own. The HTML standard allows exactly this when a page links no icon. An Apple touch icon or a manifest on its own doesn’t count as linking an icon, so those pages got the same request. If you have no favicon.ico there, your server logs fill with 404s for it.

Second, order matters when the links don’t say a size. With the SVG listed first and the ICO second, Chromium took the ICO and ignored the SVG. That follows the standard too: when several icons are equally suitable, the browser must use the last one. The fix is the sizes="32x32" on the ICO line. With it, Chromium fetched only the SVG in both orders we tried. Our generator writes the tags in that form.

Third, a broken icon link isn’t rescued. For the page that linked a missing file, Chromium requested that file and nothing else; it did not fall back to /favicon.ico. We had half expected it to.

One result we can’t fully explain: with the ICO first and the SVG second, both unsized, Chromium fetched both files. We don’t know which of the two it ends up showing.

The files, and what they weigh

We made the full set from four public SVGs with the generator’s defaults. favicon.ico holds three PNG images, 16, 32 and 48 pixels across.

Output sizes from WipeTheAI's favicon generator, defaults (whole picture, no margin, see-through background, white behind the Apple icon), Chromium 153, 24 September 2026 (n=4 SVGs from Wikimedia Commons)
Source SVGSVGfavicon.icoapple-touch-icon (180)icon-192icon-512
SVG logo4.1 KB4.1 KB6.5 KB7.4 KB23.5 KB
Brazil flag4.1 KB1.8 KB3.7 KB4.4 KB15.3 KB
Tux, the Linux penguin48.8 KB4.2 KB14.1 KB16.2 KB62.2 KB
Inkscape logo22.5 KB5.6 KB20.3 KB24.1 KB103.3 KB

The whole set for a simple logo comes to under 50 KB, and a Chromium visitor downloads only the SVG from it. The 512 pixel PNG is the heavy one, and desktop Chromium didn’t fetch it in any of our tests.

Starting from the SVG pays off even inside the ICO. We made the same favicon.ico from a 1024 pixel PNG of each logo instead. It came out 28 to 75% larger (4.1 KB to 5.8 KB for the SVG logo, 1.8 KB to 3.2 KB for the Brazil flag), because an SVG is drawn fresh at 16 and 32 pixels, with crisp edges that compress well, while a large picture scaled down carries soft in-between shades. If you only have a PNG of your logo, the tool still works; give it 512 pixels or more.

Apple and Android, from their own documents

Desktop Chromium never asked for the Apple icon or the manifest, so for those two we rely on first-party docs. Apple’s Safari guide, last updated in 2016, says a link with rel="apple-touch-icon" sets the home screen icon, lists 180×180 for the iPhone, and says that without a link the system looks in the site’s top folder for a file named apple-touch-icon.png. That is why the generator uses that exact name and tells you to put it at the top level. The same guide says Safari on iOS 7 adds no effects to the icon, so any shine or effect has to be in your picture. The generator fills its see-through areas with a colour of your choice.

For Android and installed web apps, web.dev says Chromium needs at least a 192 pixel and a 512 pixel icon in the manifest. Those are the two the generator lists. We left out “maskable” icons, the kind Android crops into circles and rounded squares: they need a wide safe margin around the logo, and one that looks right depends on your design.

Already have an icon file and need a size out of it? ICO to PNG saves every image inside it. To build an ICO with sizes of your own choosing, use PNG to ICO.

Sources

  1. HTML Standard: link type "icon", including the /favicon.ico fallback
  2. Apple: Configuring Web Applications (Safari Web Content Guide)
  3. web.dev: Add a web app manifest
  4. Wikimedia Commons: SVG Logo.svg
  5. Wikimedia Commons: Flag of Brazil.svg
  6. Wikimedia Commons: Tux.svg
  7. Wikimedia Commons: Inkscape Logo.svg