Measured by encoding, not estimated

How much do your images weigh?

Give the address of a page. This fetches it, finds its images, and re-encodes each one to AVIF and WebP with the same encoder and settings a ZawCloud node uses — so the savings below are bytes that were actually produced, not an estimate.

An audit can take up to 45 seconds — every image is fetched and encoded twice.

How it is measured

The encoder and settings a node uses, applied to the bytes the page actually sends.

Each image is downloaded the way a current browser asks for it, so a site that already serves AVIF or WebP is compared against what it actually sends, not against a fallback JPEG. It is then decoded and encoded to AVIF and WebP at quality 80 with its metadata removed — the defaults a ZawCloud node applies — and the smaller of the two is reported.

When the page displays an image at a width it declares, and the file is more than twice that wide, it is also encoded at twice the displayed width. Twice covers a high-density screen; every pixel past that is downloaded and thrown away.

A result never claims a saving that was not produced: an image whose re-encoded version came out larger is reported as already as small as it gets.

What it cannot see

It reads the HTML the server sends, without running it.

  • CSS background images, and images a script adds after the page loads. This reads the HTML the server sends, without running it.
  • Which srcset candidate a given screen picks. The largest is audited — what a high-density desktop downloads.
  • The size an image is really displayed at, unless the page declares a width. Without a browser there is no layout to measure.
  • Animated images and SVGs. A node encodes still images only, and a vector re-encoded as a raster is a different image.
  • Pages behind a sign-in, and more than the first 12 images on a page.