Image Load Lab

All guides

Every guide on Image Load Lab answers one practical question with a test we ran: file size at equal visual quality, which file a browser actually downloads, how loading attributes change Largest Contentful Paint and layout shift, and what WordPress does with the images you upload. Each guide links its raw data.

HTTP/2 vs HTTP/1.1 for a Grid of Thumbnails

Over HTTP/2, grids of 12 to 72 thumbnails finished 13 to 16 % sooner than over HTTP/1.1 on a throttled connection, but the first image arrived up to almost six times later.

Performance Lab 3 min read

CMYK JPEGs on the Web: File Size and Colour in Chrome

CMYK JPEGs were three to four times larger than sRGB versions without a profile, and up to 21 times larger with sharp's 939 KB print profile embedded. Their colours shifted visibly in Chrome.

Formats & Compression 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

SVG and HTTP Compression: gzip vs Brotli on 28 Files

Our 28 SVG files shrank from 1,622 KB to 418 KB with gzip and 339 KB with Brotli, far more than SVGO alone saved. Our host compressed SVG automatically; here is how to check yours.

Formats & Compression 3 min read

SVGO on Real SVG Files: Savings and Visual Safety

SVGO cut public-domain SVGs from drawing programs by a median 21 to 38 % and by 15 to 18 % after Brotli, with no visible change in our renders. Files written by code saved only 2 to 4 %.

Formats & Compression 4 min read

oxipng Optimisation Levels: Bytes Saved vs Time

oxipng's default level 2 saved 12.6 % on screenshots in under a second per image. Higher levels added at most half a percent, and Zopfli one more percent for about a minute per file.

Formats & Compression 3 min read

PNG for Photos: How Much Bigger Than JPEG?

Saved as PNG, our 20 photos were a median 14.5 times the size of a MozJPEG at quality 85. Maximum PNG compression and lossless WebP still left them 8 to 10 times larger.

Formats & Compression 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