Image Load Lab

Browser Behaviour

Tests of what Chrome actually does with images on a page: which files it downloads when they are hidden, inside closed elements or offered in several formats, how it chooses between srcset candidates, what it sends in the Accept header, how long each format takes to decode, and which image it reports as the Largest Contentful Paint. Every guide loads small fixture pages served from our bench several times in Chrome and records the network requests and timings, so the behaviour described is observed, not assumed.

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

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.

Browser Behaviour 3 min read

Does Chrome Reuse a Larger srcset Image From Its Cache?

Chrome 155 never downgraded an image on the same page, but a new visit on a narrow screen downloaded the small file although the large one was cached. A reload fetched the small file and still showed the large one.

Browser Behaviour 4 min read

How Chrome Chooses a Source in the picture Element

One request per picture element, always the first supported type: listing WebP before AVIF cost 61 % more bytes for the same photo. Chrome 155 also accepted a source marked image/jxl.

Browser Behaviour 4 min read