Carbon report
firebase.google.com
Scanned · all pages on firebase.google.com
Redirected here by the site from firebase.com
3.12 g
cleaner than an estimated 5.7% 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
- 3.19 g CO₂e
- 2.92 g CO₂e
- unknown
- 900 ms
- 0.002
- 461 ms
At 10,000 views a month this page emits about 374.7 kg CO₂e a year, roughly 1536 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 92%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.958 g/visit, rating F
Replace heavyweight GIFssave ~1.13 g/visit (7.76 MB)High impact · quick fix
1 GIF totals 9.13 MB. GIF is the least efficient image format still in common use, animated or not.
If it animates, re-encode the clip as a muted looping MP4 or WebM (typically a 10x reduction); if it is a still, convert it to WebP or AVIF.
- Google_Firebase_LogotoIcon_Black_V01.gif9.13 MB
Fix caching for returning visitorssave ~0.727 g/visit (4.91 MB)High impact · quick fix
On a repeat visit 19.63 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.
- Google_Firebase_LogotoIcon_Black_V01.gifCache-Control: no-cache, must-revalidate · 9.13 MB
- firebase-gradient.pngCache-Control: no-cache, must-revalidate · 3.34 MB
- build_app_hosting.svgCache-Control: no-cache, must-revalidate · 2.24 MB
- build_data_connect.svgCache-Control: no-cache, must-revalidate · 1.59 MB
- run_app_distribution.svgCache-Control: no-cache, must-revalidate · 1.27 MB
Convert and compress imagessave ~0.676 g/visit (4.66 MB)High impact · quick fix
6 images (3.37 MB) ship in legacy formats (JPEG/PNG/GIF); 5 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.
- firebase-gradient.png3.34 MB
- build_app_hosting.svg2.24 MB
- build_data_connect.svg1.59 MB
- run_app_distribution.svg1.27 MB
- run_crashlytics.svg972 kB
Audit third-party servicessave ~0.580 g/visit (3.99 MB)High impact · moderate effort
6 third-party domains account for 21.43 MB (100% 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.
- firebase.google.com19.64 MB
- www.gstatic.com868 kB
- www.googletagmanager.com457 kB
- fonts.gstatic.com446 kB
- fonts.googleapis.com11 kB
- region1.google-analytics.com0 B
Enable text compressionsave ~0.567 g/visit (3.91 MB)High impact · quick fix
6 text resources (7.05 MB) are served without gzip/Brotli.
Enable Brotli (or at least gzip) on the server or CDN for HTML, CSS, JavaScript, JSON and SVG. Typical reduction is ~70%.
- build_app_hosting.svg2.24 MB
- build_data_connect.svg1.59 MB
- run_app_distribution.svg1.27 MB
- run_crashlytics.svg972 kB
- run_remote_config.svg970 kB
Reduce JavaScript payloadsave ~0.036 g/visit (248 kB)High impact · moderate effort
54 scripts total 992 kB on the wire (3.15 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.
- devsite_app_custom_elements_module.js310 kB
- gtm.js167 kB
- js153 kB
- gtm.js137 kB
- devsite_app_module.js60 kB
Optimize web fontssave ~0.023 g/visit (156 kB)Medium impact · quick fix
7 font files total 446 kB.
Subset fonts to used glyphs, prefer one variable font over multiple weights, serve WOFF2 only, and consider system fonts for UI text.
- flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2129 kB
- flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2128 kB
- KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff243 kB
- tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.woff241 kB
- 4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3S…36 kB
Defer video and audioMedium impact · quick fix
1 video autoplays.
Never autoload media: use preload="none" with a poster image, load players on interaction, and stream in an efficient codec (AV1/HEVC).
Serve images at the size they displaysave ~<0.001 g/visit (1.2 kB)Medium impact · quick fix
6 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.
- build_app_hosting.svg2.24 MB
- build_data_connect.svg1.59 MB
- run_crashlytics.svg972 kB
- android-studio.png14 kB
- slack.png6.9 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.
Collapse the redirect chainMedium impact · quick fix
The address that was scanned goes through 2 redirects before the document is served, ending at https://firebase.google.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://firebase.com/redirects to https://firebase.google.com/
Upgrade compression beyond gzipsave ~0.023 g/visit (158 kB)Advisory · quick fix
1.05 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.
- devsite_app_custom_elements_module.js310 kB
- app.css158 kB
- app.css158 kB
- firebase.com93 kB
- main.css67 kB
Stop downloading the same asset twicesave ~0.013 g/visit (91 kB)Advisory · quick fix
8 assets were fetched more than once in a single page load (405 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.
- css2 downloads · 6.6 kB
- app.css2 downloads · 315 kB
- dark-theme.css2 downloads · 11 kB
- 4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3S…2 downloads · 72 kB
- flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff22 downloads · 257 kB
Set a page-weight budgetAdvisory · moderate effort
At 21.52 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
- Images19.57 MB · 23 req
- JavaScript992 kB · 54 req
- Fonts446 kB · 7 req
- CSS407 kB · 12 req
- HTML104 kB · 3 req
- Data (fetch)2.4 kB · 7 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| firebase.google.com/images/homepage/Google_Firebase_LogotoIcon_Black_V01.gif | image | 9.13 MB | no-cache, must-revalidate |
| firebase.google.com/images/backgrounds/firebase-gradient.png | image | 3.34 MB | no-cache, must-revalidate |
| firebase.google.com/static/images/products/icons/build_app_hosting.svg | image | 2.24 MB | no-cache, must-revalidate |
| firebase.google.com/static/images/products/icons/build_data_connect.svg | image | 1.59 MB | no-cache, must-revalidate |
| firebase.google.com/static/images/products/icons/run_app_distribution.svg | image | 1.27 MB | no-cache, must-revalidate |
| firebase.google.com/static/images/products/icons/run_crashlytics.svg | image | 972 kB | no-cache, must-revalidate |
| firebase.google.com/static/images/products/icons/run_remote_config.svg | image | 970 kB | no-cache, must-revalidate |
| www.gstatic.com/devrel-devsite/prod/v25f01968170374b7bd062a383d0367da1beee7ed413abaee67eec4296f4ba687/firebase/js/devsite_app_custom_elements_module.js | script | 310 kB | public, max-age=31536000 |
| www.googletagmanager.com/gtm.js?id=GTM-KFPLMHC | script | 167 kB | private, max-age=900 |
| www.gstatic.com/devrel-devsite/prod/v25f01968170374b7bd062a383d0367da1beee7ed413abaee67eec4296f4ba687/firebase/css/app.css | stylesheet | 158 kB | public, max-age=31536000 |
Share this report
<a href="https://carbonless.cc/report/firebase.google.com"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Ffirebase.google.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.