Frequently asked questions
While this concept is still new, we expect that some edge cases will be encountered. Here are some frequently asked questions we have internally.
Where should I store a carbon.txt file for my organisation?
You should upload your carbon.txt file to a location on your website that is easily discoverable for both humans and machines. We recommend placing it in the root directory of your website, or
in a well-known location such as /.well-known/.
Root of your domain
Upload the carbon.txt file to the root of your domain - that is the URL should look something like this: https://www.my-org.com/carbon.txt.
.well-known
Upload the carbon.txt file to a /.well-known/ path on your server. This follows existing conventions that web administrators will be familiar with.
Anywhere else (using a DNS TXT record)
Upload the carbon.txt file at any publicly accessible HTTP URL, then set up a DNS TXT record in the format carbon-txt-location=URL pointing to the location of this file.
Anywhere else (using an HTTP header)
Upload the carbon.txt file at any publicly accessible HTTP URL, then set up your web server to add the header CarbonTxt-Location: URL to all requests, pointing to the location of
this file.
Why this approach?
There are a few reasons for taking the approach we’ve described on this site.
Primarily, we are adopting an approach which leans heavily on existing web standards, and technologies. This allows for familiarity, and we hope will lead to these ideas being easier to adopt/implement.
We believe that providing a simple way for organisations to implement the carbon.txt specification is key to broader adoption. It allows us, as a small not-for-profit driving this idea, to have a much larger reach & impact when compared to the alternative of relying on individual action. Building this project around a plugin ecosystem also allows for other organisations to build on top of the carbon.txt specification, and extend it in ways that we haven't thought of.
In the long run, we think that demonstrating how we can use existing internet and web standards to make sustainability claims easily discoverable, as well as human and machine readable, will result in a web where it's easier to trust green claims. Not only that, conventions like carbon.txt allows us follow green claims to the supporting evidence used to back them up.
What would stop me using someone else's carbon.txt file instead?
Carbon.txt files are publically accessible, and are designed to be easily discoverable. This means that anyone can access them, and use the information contained within them. It allows for transparency, and for anyone to verify the claims made by an organisation.
How does the carbon.txt validator work?
There are three ways to use the carbon.txt validator:
Check a website domain
When you enter a website domain, the validator will check for a DNS TXT record in the format carbon-txt-location=URL and follow it, if it exists.
If no DNS TXT record is found, it will proceed to look for a carbon.txt file in the root of the website (e.g. https://example.com/carbon.txt). If it finds one, it will parse the
file and return the information contained within it.
If there is no carbon.txt file at the root of the domain, it will then check for the file in a well-known location on the server (e.g. https://example.com/.well-known/carbon.txt). Again, if it finds one, it will parse the file and return the information contained within it.
If no file is found at either location, then the validator will proceeed to check for a CarbonTxt-Location HTTP header specifying a URL, and follow it.
If none of the above succeed, and you have requested either a top-level domain, or the www. subdomain of a top level domain - the validator will then attempt to find the carbontxt at the other alternative automatically (the www. subdomain will be tried, if a TLD was requested, the TLD will be tried if a www. subdomain is requested). The entire process is repeated for the alternate domain. For any other subdomains, no further attempts are carried out.
If none of the above are found, the validator will return an error message.
The diagram below shows this process visually.
Check a carbon.txt URL
When you enter a URL that points to a specific carbon.txt file (e.g. https://example.com/carbon.txt), the validator will look make a request to find the file at that location.
If it finds one, it will parse the file and return the information contained within it. If no file is found, then the validator will return an error message.
Manually enter the content of a carbon.txt file
If you manually enter the content of a carbon.txt file, then the validator will try to parse the syntax that has been entered and return the information contained within it. If the syntax is incorrect, then the validator will return an error message.
What types of document can I link to as evidence in my carbon.txt file?
We accept a wide variety of document types as evidence in the organisatioal disclosures section of your carbon.txt file. Currently, these include:
- Sustainability page
- A link to the sustainability policy page of your website, or any other page which sets out your organisation's environmental or sustainability policies and commitments.
- Annual Report
- Official annual report for your company, including information on sustainability or CSR comitments, carbon reduction activity, or progress towards sustainability goals.
- Certificate
- A certificate provided by an external entity to your organization - these could be Guarantees of Origin or RECS (Renweable Energy Certificates) for your electricity usage, or certificates of compliance to an external certification scheme such as B-corp or TCO Certified.
- CSRD Report
- A report produced for compliance with the EU Corporate Sustainability Reporting Directive.
- AI Model Card
- If you use AI models as part of your operations, a link to an AI model card in markdown format, containing carbon footprint information.
- Measurement data
- Any quantitative information, measured or estimated, about your organization's carbon emissions or other environmental impacts, in a structured, machine-readable format such as the DIST schema.
- Other
- Any other document which provides evidence of your carbon footprint, sustainability policy, or related commitments. If you want to recommend any new document types for inclusion in future versions of carbon.txt, you can create an issue in our git repository.
- Web page (deprecated)
- Currently, carbon.txt will also accept the value of "web-page" as a document type for any pertinent web-page. However, use of this is discouraged (in favour of "Sustainabilty page" or "Other") and this document type will be formally deprecated in a future release.
What is a certification scheme, and how can I include one in my carbon.txt file?
In carbon.txt, we use the term certification schemes to refer to any independent third party which both sets out voluntary standards on sustainability, energy use, or emissions commitments, and also audits or verifies an organization's adherence to them. A good example is something like B-corp, which both sets out the B Lab Standards for social environmental and governance practices, and certifies companies for compliance with them.
Certification schemes are important in carbon.txt for two reasons: Firstly, by surfacing an organization's certifications, users of carbon.txt can have increased trust in their disclosures (as they have been indepently certified), and can better understand their specific sustainability commitments and policies, rather than just the actions that arise from them. In addition, certifying organizations themselves can use carbon.txt to more easily access the evidence they need to certify an organization.
In carbon.txt, certification schemes are specified explicitly in a dedicated block of the file, and then referred to by disclosures that are relevant to them. This allows users to quickly identify which disclosures provide evidence for which particular certification schemes. For further details, please see our blog post.
I'm a developer, how can I use carbon.txt in my own applications?
We offer two ways of extending and using carbon.txt in your own software - a python package, and an HTTP API.
The carbon.txt python package
Our carbon.txt python package is the reference implementation of the carbon.txt syntax, and powers the validator on this site as well as carbon.support in the Green Web Check tool - it also allows you to build and validate carbon.txt files programatically within your own applications.
There is documentation on the python package available at ReadTheDocs, and source code on GitHub.
More general technical documentation on the carbon.txt project is available on our developer documentation site.
The carbon.txt validation API
If you're not working with python, or if you prefer not to rely on our package for some other reason, we offer an HTTP API for performing carbon.txt lookups and validating carbon.txt files. This API allows you to check the syntax and contents of a carbon.txt file, provided as a URL or directly as text, as well as look up the carbon.txt file for any domain.
API documentation is available at carbon-txt-api.greenweb.org/api/docs, and further information and usage examples on our developer documentation site. To access this API you will need to register for an API key on the Green Web portal, and pass it in the X-API-Key header of your API requests. By default, requests are rate-limited to 2 per second per key - if you need a higher limit, please get in touch to discuss your use case!
If you're working in Javascript, our CO2.js library provides a useful wrapper client for this API - full details are available in the developer documentation.