0.241 g
cleaner than an estimated 65.3% of pages on the web
- A+
- A
- B
- C
- D
- E
- F
A+ is 0.04 g or less per view, F is more than 0.359 g CO₂e.
The numbers
- 0.320 g CO₂e
- 0.0045 g CO₂e
- unknown
- 944 ms
- 0.003
- 444 ms
At 10,000 views a month this page emits about 29.0 kg CO₂e a year, roughly 119 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 1%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.097 g/visit, rating B
Audit third-party servicessave ~0.092 g/visit (827 kB)High impact · moderate effort
3 third-party domains account for 1.65 MB (77% 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.
- github.githubassets.com1.65 MB
- camo.githubusercontent.com3.3 kB
- avatars.githubusercontent.com3.2 kB
Reduce JavaScript payloadsave ~0.038 g/visit (339 kB)High impact · moderate effort
106 scripts total 1.35 MB on the wire (4.84 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.
- 72373-9f682af875f60a10.js164 kB
- primer-react-3e63dd60f91fc3ba.js136 kB
- react-core-9d9c3ccefa064e54.js81 kB
- behaviors-c83558adeb4aa428.js59 kB
- react-lib-1c1e7314c65e556e.js58 kB
Lazy-load below-the-fold mediasave ~0.022 g/visit (197 kB)Medium impact · quick fix
13 below-the-fold images/iframes (393 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.
- terminal-story.png176 kB
- data-story.png141 kB
- command-vs-simulated.png49 kB
- badge.svg5.2 kB
- 1200k-dark.svg3.8 kB
Convert and compress imagessave ~0.019 g/visit (166 kB)Medium impact · quick fix
5 images (370 kB) ship in legacy formats (JPEG/PNG/GIF).
Serve AVIF (or WebP) with responsive srcset sizes, and re-compress oversized files. AVIF typically halves JPEG weight at the same visual quality.
- terminal-story.png176 kB
- data-story.png141 kB
- command-vs-simulated.png49 kB
- 3091241.7 kB
- 3091241.4 kB
Verify your hosting energyMedium impact · moderate effort
This host has not published renewable energy evidence with the Green Web Foundation, so its energy source is unknown.
Choose a provider listed in the Green Web Directory, or ask your current provider to publish evidence (and a carbon.txt). This cuts the data-center share of every single page view.
- carbon.txtNo carbon.txt found at the site root; publishing one is the lightest first step.
Upgrade compression beyond gzipsave ~0.0023 g/visit (21 kB)Advisory · quick fix
140 kB of text ships gzip-compressed; Brotli or Zstandard would cut roughly another 15-20%, and browsers without them fall back to gzip automatically.
Serve precompressed Brotli for static text assets (highest level, compressed at build time) and enable Brotli or zstd for dynamic responses; keep gzip only as the fallback.
- ember70 kB
- main18 kB
- badge.svg5.2 kB
- tree-commit-info5.0 kB
- latest-commit4.9 kB
Set a page-weight budgetAdvisory · moderate effort
At 2.16 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.
Simplify the document structureAdvisory · larger effort
The page renders 2455 DOM elements, above the 1,500 guideline. Large trees cost memory and CPU on every visitor's device.
Flatten wrapper markup, render long lists virtually or paginate, and prefer semantic elements over nested divs.
Where the bytes are
- JavaScript1.35 MB · 106 req
- Images396 kB · 15 req
- CSS293 kB · 23 req
- HTML70 kB · 1 req
- Data (fetch)46 kB · 7 req
- Other989 B · 3 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| github.com/carpdiem/ember/raw/main/docs/samples/terminal-story.png | image | 176 kB | max-age=300 |
| github.githubassets.com/assets/72373-9f682af875f60a10.js | script | 164 kB | public, max-age=31536000, immutable |
| github.com/carpdiem/ember/raw/main/docs/samples/data-story.png | image | 141 kB | max-age=300 |
| github.githubassets.com/assets/primer-react-3e63dd60f91fc3ba.js | script | 136 kB | public, max-age=31536000, immutable |
| github.githubassets.com/assets/react-core-9d9c3ccefa064e54.js | script | 81 kB | public, max-age=31536000, immutable |
| github.githubassets.com/assets/primer-react-brand-css.566b06f97d781cc2.module.css | stylesheet | 71 kB | public, max-age=31536000, immutable |
| github.com/carpdiem/ember | document | 70 kB | max-age=0, private, must-revalidate |
| github.githubassets.com/assets/behaviors-c83558adeb4aa428.js | script | 59 kB | public, max-age=31536000, immutable |
| github.githubassets.com/assets/react-lib-1c1e7314c65e556e.js | script | 58 kB | public, max-age=31536000, immutable |
| github.githubassets.com/assets/97662-3287389963328ab8.js | script | 57 kB | public, max-age=31536000, immutable |
Share this report
<a href="https://carbonless.cc/report/github.com/carpdiem/ember"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fgithub.com%2Fcarpdiem%2Fember" 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.