Skip to content
CarbonlessBeta

Carbon report

tailscale.com

Scanned · all pages on tailscale.com

0.415 g

cleaner than an estimated 43.3% 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

3.53 MBcold load, on the wire
21527 domains
1.90 MB73 requests
592 kB17% re-downloaded
0.524 g CO₂e
0.088 g CO₂e
unknown
252 ms
0.22
78 ms

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

What to fix

apply everything → ~0.222 g/visit, rating D

  1. Audit third-party servicessave ~0.112 g/visit (951 kB)High impact · moderate effort

    24 third-party domains account for 1.90 MB (54% 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.

    • cdn.sanity.io979 kB
    • www.googletagmanager.com740 kB
    • snap.licdn.com40 kB
    • www.redditstatic.com33 kB
    • cdn.rudderlabs.com32 kB
    • scripts.clarity.ms26 kB
  2. Reduce JavaScript payloadsave ~0.046 g/visit (395 kB)High impact · moderate effort

    49 scripts total 1.58 MB on the wire (4.74 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.

    • 3vj7wgh3koo6n.js231 kB
    • js192 kB
    • js192 kB
    • js190 kB
    • gtm.js166 kB
  3. Convert and compress imagessave ~0.024 g/visit (205 kB)Medium impact · quick fix

    2 images exceed 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.

    • af5c10c534518d99737ba515229b2da310feabd8-806x…393 kB
    • a88cf9aad8777f4b0641202a5ed6c02bbb005d8c-266x…317 kB
  4. Fix caching for returning visitorssave ~0.0020 g/visit (13 kB)Medium impact · quick fix

    On a repeat visit 54 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.

    • events-webinars-og-imageCache-Control: public · 49 kB
    • s0inv2qfklCache-Control: no-cache, no-store · 843 B
    • 07d853f507039b2489d9818cb6ee7442c1b60e2a-30x1…Cache-Control: public, max-age=31536000, s-maxage=2592000 · 661 B
    • collectno Cache-Control header · 508 B
    • GA4.min.jsCache-Control: max-age=3600 · 340 B
  5. 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.
  6. Optimize web fontssave ~0.0069 g/visit (59 kB)Advisory · quick fix

    3 font files total 168 kB.

    Subset fonts to used glyphs, prefer one variable font over multiple weights, serve WOFF2 only, and consider system fonts for UI text.

    • MDIO_VF-s.p.33edr4bt_fhb7.woff283 kB
    • Inter_var_italic_latin-s.p.0drijf_kb0ae0.woff246 kB
    • Inter_var_latin-s.p.2mp7er-_xfdzs.woff239 kB
  7. Upgrade compression beyond gzipsave ~0.0022 g/visit (18 kB)Advisory · quick fix

    122 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.

    • insight.min.js21 kB
    • pixel.js21 kB
    • insight.old.min.js19 kB
    • bat.js16 kB
    • pixel.js13 kB
  8. Remove references to broken resourcessave ~<0.001 g/visit (883 B)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.

    • externalHTTP 403 · 883 B
  9. Set a page-weight budgetAdvisory · moderate effort

    At 3.53 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.

  10. Simplify the document structureAdvisory · larger effort

    The page renders 2820 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.58 MB · 49 req
  • Images1.05 MB · 35 req
  • Data (fetch)659 kB · 113 req
  • Fonts168 kB · 3 req
  • HTML41 kB · 1 req
  • CSS22 kB · 2 req
  • Data (XHR)6.6 kB · 6 req
  • Other939 B · 6 req
Ten heaviest requests
ResourceTypeWire sizeCache-Control
cdn.sanity.io/images/w77i7m8x/production-v2/af5c10c534518d99737ba515229b2da310feabd8-806x512.svg?w=806&q=75&fit=clip&auto=formatimage393 kBpublic, max-age=31536000, s-maxage=2592000
cdn.sanity.io/images/w77i7m8x/production-v2/a88cf9aad8777f4b0641202a5ed6c02bbb005d8c-266x342.svg?w=800&q=75&fit=clip&auto=formatimage317 kBpublic, max-age=31536000, s-maxage=2592000
wwwv2.tailscale.com/_next/static/chunks/3vj7wgh3koo6n.js?dpl=dpl_34hfdA8pnP7mGCJMohigqm8Cwt8ascript231 kBpublic,max-age=31536000,immutable
cdn.sanity.io/images/w77i7m8x/production-v2/a99812ad6bacf14fe6f3d94ee8840eab4725b006-1120x600.svg?w=1120&q=75&fit=clip&auto=formatimage195 kBpublic, max-age=31536000, s-maxage=2592000
www.googletagmanager.com/gtag/js?id=G-JY69R9X5MQ&cx=c&gtm=4e68b0script192 kBprivate, max-age=900
www.googletagmanager.com/gtag/js?id=G-JY69R9X5MQscript192 kBprivate, max-age=900
www.googletagmanager.com/gtag/js?id=AW-686222781&cx=c&gtm=4e68b0script190 kBprivate, max-age=900
www.googletagmanager.com/gtm.js?id=GTM-PNPKKT7F&gtm_cookies_win=xscript166 kBprivate, max-age=900
tailscale.com/changelog?_rsc=5CB68i4pnAekjehffetch106 kBpublic, max-age=0, must-revalidate
wwwv2.tailscale.com/_next/static/media/MDIO_VF-s.p.33edr4bt_fhb7.woff2?dpl=dpl_34hfdA8pnP7mGCJMohigqm8Cwt8afont83 kBpublic,max-age=31536000,immutable

Share this report

Live carbon badge preview
<a href="https://carbonless.cc/report/tailscale.com"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Ftailscale.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.