Skip to content
CarbonlessBeta

0.247 g

cleaner than an estimated 64.4% of pages on the web 

  1. A+
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F

A+ is 0.04 g or less per view, F is more than 0.359 g CO₂e.

Sign in to re-scan
What the browser rendered, so you can confirm a real page was measured.

The numbers

2.64 MBcold load, on the wire
1805 domains
2.57 MB170 requests
243 kB9% re-downloaded
0.320 g CO₂e
0.029 g CO₂e
verified green
928 ms
n/a
15 ms

At 10,000 views a month this page emits about 29.7 kg CO₂e a year, roughly 122 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 9%, and world-average grid intensity. How we calculate this

What to fix

apply everything → ~0.097 g/visit, rating B

  1. Audit third-party servicessave ~0.120 g/visit (1.29 MB)High impact · moderate effort

    3 third-party domains account for 2.57 MB (97% of the page).

    Remove services that no longer earn their place; load the rest on interaction (facades for embeds, delayed consent-gated tags). Each third party is also a privacy and performance dependency.

    • substackcdn.com2.53 MB
    • fonts.gstatic.com38 kB
    • js.sentry-cdn.com2.8 kB
  2. Reduce JavaScript payloadsave ~0.046 g/visit (491 kB)High impact · moderate effort

    138 scripts total 1.96 MB on the wire (6.25 MB decoded). Bundles this size usually carry a lot of unused code.

    Split bundles per route, tree-shake dependencies, and audit with a bundle analyzer or coverage profile. A 25% cut is a conservative target for bundles this size.

    • 27104.32466763.js214 kB
    • 97082.d14db6c3.js86 kB
    • 97605.96bfb060.js68 kB
    • 19311.3069a1e0.js59 kB
    • lib-react.09f9c904.js58 kB
  3. Serve images at the size they displaysave ~0.012 g/visit (126 kB)Medium impact · quick fix

    3 images are encoded at more than twice the pixels the layout shows, even accounting for this viewport's pixel density.

    Generate multiple sizes and let the browser pick with srcset/sizes; a 4000px original behind a 400px slot spends bandwidth no screen displays.

    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…251 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…59 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…53 kB
  4. Fix caching for returning visitorssave ~0.0060 g/visit (49 kB)Medium impact · quick fix

    On a repeat visit 197 kB of static assets were re-downloaded instead of coming from cache.

    Serve static assets with Cache-Control: public, max-age=31536000, immutable and versioned filenames so returning visitors download almost nothing.

    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…Cache-Control: public, max-age=31536000 · 159 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…Cache-Control: public, max-age=31536000 · 38 kB
    • https%3A%2F%2Fsubstack.com%2Fimg%2Favatars%2F…Cache-Control: public, max-age=0 · 397 B
  5. Lazy-load below-the-fold mediasave ~0.0056 g/visit (60 kB)Medium impact · quick fix

    7 below-the-fold images/iframes (119 kB) download immediately for every visitor.

    Add loading="lazy" to below-fold img and iframe elements (and keep it off the LCP image). Browsers then fetch them only when scrolling approaches.

    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…59 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…53 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…2.5 kB
    • https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-95…1.2 kB
    • https%3A%2F%2Fsubstack-post-media.s3.amazonaw…1.2 kB
  6. Remove references to broken resourcessave ~<0.001 g/visit (1.6 kB)Advisory · quick fix

    1 request answered 4xx/5xx on load: transfer and connections spent on nothing, on every single visit.

    Delete or fix the references (stale asset URLs, dead third-party tags). Each one is a request the page provably does not need.

    • flowsHTTP 401 · 1.6 kB
  7. Set a page-weight budgetAdvisory · moderate effort

    At 2.64 MB per view this page rates D. The findings above list where the weight is.

    Agree a transfer budget (e.g. under 975 kB reaches a B), enforce it in CI, and re-scan after each change to hold the line.

Where the bytes are

  • JavaScript1.96 MB · 138 req
  • Images374 kB · 10 req
  • CSS220 kB · 23 req
  • Fonts38 kB · 1 req
  • HTML37 kB · 2 req
  • Data (XHR)9.5 kB · 4 req
  • Data (fetch)2.6 kB · 2 req
Ten heaviest requests
ResourceTypeWire sizeCache-Control
substackcdn.com/image/fetch/$s_!KZV6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57bc77b2-fb1a-4be6-9e1b-1e4d24cbd8b9_971x1536.jpegimage251 kBpublic, max-age=31536000
substackcdn.com/bundle/static/js/27104.32466763.jsscript214 kBpublic, max-age=31536000, immutable
substackcdn.com/bundle/static/js/97082.d14db6c3.jsscript86 kBpublic, max-age=31536000, immutable
substackcdn.com/bundle/static/js/97605.96bfb060.jsscript68 kBpublic, max-age=31536000, immutable
substackcdn.com/bundle/static/js/19311.3069a1e0.jsscript59 kBpublic, max-age=31536000, immutable
substackcdn.com/image/fetch/$s_!N1Y5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37296fdb-c1a0-4d0a-ae03-6a312af4c607_1802x1047.pngimage59 kBpublic, max-age=31536000
substackcdn.com/bundle/static/js/lib-react.09f9c904.jsscript58 kBpublic, max-age=31536000, immutable
substackcdn.com/image/fetch/$s_!33nE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F896dcfa1-4ba2-477a-80a5-72d0f2761742_1802x1047.pngimage53 kBpublic, max-age=31536000
substackcdn.com/bundle/static/js/75078.e52dc72f.jsscript50 kBpublic, max-age=31536000, immutable
substackcdn.com/bundle/static/js/69613.a6a40d63.jsscript49 kBpublic, max-age=31536000, immutable

Share this report

Live carbon badge preview
<a href="https://carbonless.cc/report/thenewcuriosityshop.substack.com/p/the-essential-question"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fthenewcuriosityshop.substack.com%2Fp%2Fthe-essential-question" alt="Carbon rating for this page" width="150" height="30" loading="lazy" /></a>

The badge is a lightweight SVG (under 1 kB) served with long-lived caching, so a new scan can take up to a day to show through.