Image Load Lab

Guides Browser Behaviour Tested Oct 18, 2026 Chrome 155 · 7 markups · fresh browser

Which Favicon Files Does Chrome Download?

Chrome 155 fetched one icon per page: the SVG when declared, the 32-pixel PNG when sizes were given, /favicon.ico when nothing usable was declared, and 480 KB when the only icon was a 512-pixel PNG.

Every site has a small icon in the browser tab, and favicon advice ranges from “add a dozen sizes” to “just put a favicon.ico in the root”. Each icon file is a request. Which icon files does Chrome actually download, and what happens when the markup offers several or none? We loaded seven versions of a page in a fresh browser and logged every request.

The test

A local test server logged all requests for seven pages that differ only in the <head>: no icon link at all; one SVG icon; one 32 × 32 PNG; PNGs at 32 and 192 pixels; a 32-pixel PNG followed by an SVG; only an apple-touch-icon link; and only a 512 × 512 PNG, as some generators produce. A /favicon.ico file (2.8 KB) existed in the server root. Our first run reused the same browser between pages and missed the favicon.ico request, because Chrome remembers icons per site; the results below come from a fresh Chrome 155.0.8059.82 for every load, three loads per page, on a desktop viewport. See our methodology.

Results

Bar chart: Chrome downloaded 0.1 KB for an SVG icon, 2.8 KB for a 32-pixel PNG or the favicon.ico fallback, and 480.5 KB when the only icon was a 512-pixel PNG
Kilobytes Chrome 155 downloaded for the page icon under seven kinds of markup. Chart generated from the linked CSV.
Same result in all 3 loads of every case
Markup in head File requested Bytes
No icon link /favicon.ico 2,898
SVG icon /fav/icon.svg 113
PNG 32 × 32 /fav/icon-32.png 2,898
PNG 32 and 192 /fav/icon-32.png 2,898
PNG 32, then SVG /fav/icon.svg 113
apple-touch-icon only /favicon.ico 2,898
Only a 512 × 512 PNG /fav/icon-512.png 492,011

Without an icon link, Chrome requested /favicon.ico. The page with no icon markup still cost one request and 2.8 KB, for the conventional file at the root. If that file does not exist, the request ends in a 404, which still costs a round trip and appears in logs.

With a declared icon, Chrome downloaded exactly one file. An SVG link meant one 113-byte request and no favicon.ico. With 32- and 192-pixel PNGs, only the 32-pixel file was fetched for the tab. When a PNG and an SVG were both declared, Chrome took the SVG.

An apple-touch-icon alone did not count as a favicon. Chrome ignored it for the tab and fell back to /favicon.ico.

A large icon as the only option was expensive. When the only declared icon was a 512 × 512 PNG, Chrome downloaded it for a 16-pixel tab icon: 480.5 KB for this test file. Real 512-pixel icons are usually simpler and smaller, but still many times the size of a 32-pixel one.

A sensible favicon setup

  • Declare an SVG icon (<link rel="icon" href="/icon.svg" type="image/svg+xml">). It was the smallest file and Chrome preferred it.
  • Keep a small /favicon.ico or a 32-pixel PNG link as a fallback for browsers and tools that do not use SVG icons.
  • Do not make a large PNG the only icon. If you need 192- or 512-pixel icons for home screens and web app manifests, declare them in the manifest and keep a small icon in the HTML.
  • Check what your CMS outputs. On this WordPress site, the Site Icon setting declares a 150-pixel PNG (8.1 KB) labelled sizes="32x32" and a 300-pixel PNG (16.8 KB) labelled sizes="192x192". By the pattern in this test, Chrome takes the one labelled 32 × 32, which here is a 150-pixel file: larger than needed, but far from the 512-pixel worst case.

Practical conclusion

Chrome 155 fetched one icon per page: the SVG when one was declared, the 32-pixel PNG when sizes were given, /favicon.ico when nothing usable was declared, and a 480 KB file when the only icon was 512 pixels. Declare a small SVG plus a small fallback.

Limitations

Desktop Chrome only. Mobile browsers, other browsers and operating-system features (home-screen shortcuts, pinned tabs) request other icon sizes. We tested on one desktop pixel density; on higher densities Chrome may prefer a larger PNG.

Data and files

Download favicon.csv (7 rows, 0.3 KB) · Method: testing methodology.

Client Hints on Image Requests: What Chrome Sends

Chrome 155 sent DPR, width and network hints with image requests only after Accept-CH, and to another origin only with Permissions-Policy delegation. Width was in device pixels.

Browser Behaviour 4 min read

Video Poster Images and LCP: Same as an img?

A video poster was discovered as early as an img, got the same priority and counted as the LCP element with the same timing, 1,316 ms against 1,320 ms. It cannot use srcset.

Browser Behaviour 3 min read