Skip to content


One day, the internet will be powered by renewable energy. Until that day comes, there’ll be a CO2 cost that comes with every byte of data that’s uploaded or downloaded. By being able to calculate these emissions, developers can be empowered to create more efficient, lower carbon apps, websites, and software.

What is CO2.js?

CO2.js is an open-source JavaScript library that enables developers to estimate the emissions related to use of their apps, websites, and software.

Why use it?

Being able to estimate the CO2 emissions associated with digital activities can be of benefit to both developers and users.

Internally, you may want to use this library to create a carbon budget for your site or app. It is also useful for inclusion in dashboards and monitoring tools.

For user facing applications, CO2.js could be used to check & block the uploading of carbon intensive files. Or, to present users with information about the carbon impact of their online activities (such as browsing a website).

The above a just a few examples of the many and varied ways CO2.js can be applied to provide carbon estimates for data transfer.

How to use it

Our post Start calculating digital carbon emissions in 5 minutes with CO2.js is a quick start guide to get you going quickly.

For more in depth guidance refer to our developer documentation.

If you’d like to view our open source repo, you can see it in GitHub.

If you’re using CO2.js in production we’d love to hear how! Drop us a line.


The code for CO2.js is licensed Apache 2.0.

The average carbon intensity data from Ember is published under the Creative Commons ShareAlike Attribution Licence (CC BY-SA 4.0)

The marginal intensity data is published by the Green Web Foundation, under the Creative Commons ShareAlike Attribution Licence (CC BY-SA 4.0).

To the top