How the footer figures are measured
There are two values on every page footer: how long the page took to load for you, and an estimate of the carbon emitted to deliver it. This page explains where those numbers come from and how much you can trust them.
Page load time
"This page loaded in" is measured in your own browser by the Navigation Timing API. It runs from the moment your browser started the navigation to the end of the page's load event.
- The figure is unique to you. It depends on your device, your connection, and whether your browser has cached the site's files.
- It's not stored, logged, or sent anywhere. It's worked out on your device and displayed, that's all.
- If JavaScript is disabled, or your browser doesn't support the API, the line doesn't show.
Estimated CO₂e
"Estimated CO₂e for this page" is a build-time estimate for the page you are currently viewing. It's not a site-wide average, nor a measurement of your visit.
- Each page is loaded once in a headless Chromium, with Playwright, against a copy of the live site. The browser starts with an empty cache, so this is a first visit: the HTML, stylesheets, scripts, fonts and all images are counted.
- The script records the compressed bytes actually transferred over the network, headers included, for everything that loads before the page settles.
- That total goes through CO2.js from the Green Web Foundation, using version 4 of the Sustainable Web Design model. The model covers data centres, networks and end-user devices.
- The Green Web Foundation lists this site's hosting as running on green energy, so the model's green-hosting adjustment is applied.
The results are stored alongside the site's source and placed into each page when the site is built. The audit is re-run by hand, but not on every deploy, and it only re-measures pages whose content has changed. It was last run on 14 November 2026.
Caveats
- This is an estimate built on a model, not a measurement of electricity consumed.
- A return visit usually transfers much less, because fonts, CSS, and JavaScript come from your browser cache.
- Anything that starts loading after the page goes quiet may be missed.
- A change to the shared CSS or JavaScript isn't reflected until the next audit run.
- Pages that haven't been audited yet show no CO₂e line.
This whole idea is borrowed, with much appreciation, from Matt Hobbs.