Carbon report
www.notion.com
Scanned · all pages on www.notion.com
Redirected here by the site from notion.so
0.545 g
cleaner than an estimated 32.9% 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.548 g CO₂e
- 0.535 g CO₂e
- unknown
- 1.21 s
- 0.007
- 607 ms
At 10,000 views a month this page emits about 65.4 kg CO₂e a year, roughly 268 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 98%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.178 g/visit, rating C
Audit third-party servicessave ~0.269 g/visit (1.83 MB)High impact · moderate effort
9 third-party domains account for 3.65 MB (99% 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.
- www.notion.com3.12 MB
- exp.notion.com193 kB
- transcend-cdn.com160 kB
- accounts.google.com100 kB
- images.ctfassets.net78 kB
- app.notion.com2.0 kB
Fix caching for returning visitorssave ~0.099 g/visit (671 kB)High impact · quick fix
On a repeat visit 2.68 MB 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.
- imageCache-Control: public, max-age=31536000, must-revalidate · 317 kB
- _app-a219f976b37dd17e.jsCache-Control: public,max-age=31536000,immutable · 256 kB
- sentry.next.b65a75ba6904588e.jsCache-Control: public,max-age=31536000,immutable · 109 kB
- bb4dfbf8-7a2941cccf31d369.jsCache-Control: public,max-age=31536000,immutable · 100 kB
- imageCache-Control: public, max-age=31536000, must-revalidate · 83 kB
Reduce JavaScript payloadsave ~0.062 g/visit (422 kB)High impact · moderate effort
61 scripts total 1.69 MB on the wire (5.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.
- _app-a219f976b37dd17e.js250 kB
- bb4dfbf8-7a2941cccf31d369.js102 kB
- ui.js101 kB
- sentry.next.b65a75ba6904588e.js100 kB
- client99 kB
Serve images at the size they displaysave ~0.045 g/visit (303 kB)High impact · quick fix
11 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.
- image317 kB
- image83 kB
- image72 kB
- image59 kB
- image58 kB
Convert and compress imagessave ~0.012 g/visit (83 kB)Medium impact · quick fix
1 image exceeds 300 kB apiece.
Serve AVIF (or WebP) with responsive srcset sizes, and re-compress oversized files. AVIF typically halves JPEG weight at the same visual quality.
- image317 kB
Defer video and audioMedium impact · quick fix
1 video preloads data without preload="none".
Never autoload media: use preload="none" with a poster image, load players on interaction, and stream in an efficient codec (AV1/HEVC).
- web-homepage-hero-1920x1200_final.mp40 B
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.
Collapse the redirect chainMedium impact · quick fix
The address that was scanned goes through 2 redirects before the document is served, ending at https://www.notion.com/. Every hop is a full round trip on a connection that has not warmed up yet.
Point links, sitemaps and canonical tags at the final address, and make the host redirect in one hop rather than chaining http to https to www.
- https://notion.so/redirects to https://www.notion.com/
Upgrade compression beyond gzipsave ~0.055 g/visit (374 kB)Advisory · quick fix
2.49 MB 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.
- _app-a219f976b37dd17e.js250 kB
- initialize193 kB
- bb4dfbf8-7a2941cccf31d369.js102 kB
- sentry.next.b65a75ba6904588e.js100 kB
- client99 kB
Stop downloading the same asset twicesave ~0.011 g/visit (73 kB)Advisory · quick fix
42 assets were fetched more than once in a single page load (529 kB of repeated transfer).
Usually a script injected twice or cache-busting query strings that differ per reference. Load each asset once and let the HTTP cache do its job.
- 870a912dab4e66e5.css2 downloads · 23 kB
- 488ded2b270a3ff6.css2 downloads · 29 kB
- 2280490c7edd474a.css2 downloads · 24 kB
- cb52c3487a5e71ba.css2 downloads · 7.4 kB
- OpenAI.svg2 downloads · 2.1 kB
Optimize web fontssave ~0.0076 g/visit (52 kB)Advisory · quick fix
5 font files total 148 kB.
Subset fonts to used glyphs, prefer one variable font over multiple weights, serve WOFF2 only, and consider system fonts for UI text.
- LyonText-Regular-Web.d7bfb4be.woff254 kB
- NotionInter-SemiBold.woff224 kB
- NotionInter-Bold.woff224 kB
- NotionInter-Medium.woff224 kB
- NotionInter-Regular.woff223 kB
Set a page-weight budgetAdvisory · moderate effort
At 3.70 MB per view this page rates F. 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.69 MB · 61 req
- Images980 kB · 75 req
- Other445 kB · 26 req
- Data (fetch)278 kB · 17 req
- Fonts148 kB · 5 req
- CSS117 kB · 17 req
- HTML45 kB · 1 req
- Audio / video0 B · 1 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| www.notion.com/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fspoqsaf9291f%2F3PH2HDqwPQKa0Xtq1EzIHs%2Fdf192356392843cf5999e8691221fae1%2Fimage.png&w=3840&q=75 | image | 317 kB | public, max-age=31536000, must-revalidate |
| www.notion.com/_next/static/chunks/pages/_app-a219f976b37dd17e.js | script | 250 kB | public,max-age=31536000,immutable |
| exp.notion.com/v1/initialize?k=client-s6Y93M3p0RmBJw5frXEOlhKqhMBorcrPSgGLI66gKnq&st=javascript-client-react&sv=3.33.3&t=1786355989616&sid=3fe27d2f-8ad5-4aea-a05d-d5a6f47fab35&se=1 | fetch | 193 kB | no-transform |
| www.notion.com/_next/static/chunks/bb4dfbf8-7a2941cccf31d369.js | script | 102 kB | public,max-age=31536000,immutable |
| transcend-cdn.com/cm/a36a42ad-3a71-444f-9e8a-b19950129dc6/ui.js | script | 101 kB | public, max-age=60 |
| www.notion.com/_next/static/chunks/sentry.next.b65a75ba6904588e.js | script | 100 kB | public,max-age=31536000,immutable |
| accounts.google.com/gsi/client | script | 99 kB | private, max-age=1800 |
| www.notion.com/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fspoqsaf9291f%2F5s8E0EU3tXEvGrFrRwgxhb%2Fc44fce43494ccd6f098746c64b679aab%2Fcapture_desktop.jpg&w=2048&q=75 | image | 83 kB | public, max-age=31536000, must-revalidate |
| www.notion.com/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fspoqsaf9291f%2F3pCHbRV7f5UjIssdK3CDpy%2F7b48cf81bad50d66e31caa5a3b80d5b5%2Ffaire.png&w=1200&q=75 | image | 72 kB | public, max-age=31536000, must-revalidate |
| www.notion.com/_next/static/chunks/22678-d861dae192bab46f.js | script | 67 kB | public,max-age=31536000,immutable |
Share this report
<a href="https://carbonless.cc/report/www.notion.com"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fwww.notion.com" 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.