Flight carbon footprint calculator
Put a number on one seat’s climate impact: 5500 km in economy with the default factors comes to 1201.75 kg of CO₂e. Swap cabin class, emission factor or radiative forcing to match your reporting rules. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Distance km
- 5,500
- Cabin factor
- 1
- Radiative forcing
- 1.9
- Emission factor kg per km
- 0.115
- Emissions kg co2e
- 1,201.75
Air travel is one of the most carbon-intensive ways to move a person, yet ticket sites rarely show a transparent per-passenger CO₂e figure built from the same knobs sustainability teams already use: distance flown, cabin class share of the aircraft, a base emission factor in kilograms per passenger-kilometre, and a radiative forcing multiplier for high-altitude non-CO₂ effects. This flight carbon footprint per passenger calculator multiplies those four quantities into a single deterministic result in kilograms and tonnes of CO₂-equivalent. Economy seating uses a cabin factor of one; premium cabins scale the footprint because each passenger occupies more of the plane. Radiative forcing of about 1.9 is a common policy choice when contrails and NOx matter; set it to one for CO₂-only reporting. Negative flight distance is rejected as invalid input so automation never bills or stores a nonsense negative emission.
What per-passenger flight CO₂e means and how the product is built
Per-passenger flight carbon footprint answers a practical question: if one person flies a given distance in a given cabin, how many kilograms of CO₂-equivalent should be attributed to that seat under a chosen emission model? The standard linear product used in many corporate travel and offset workflows is distance in kilometres times a base emission factor in kilograms of CO₂ per passenger-kilometre times a cabin class factor times a radiative forcing index. Distance is the great-circle or ticketed stage length you already know from the itinerary.
The base emission factor captures fuel burn intensity per seat-kilometre before class and non-CO₂ multipliers; a default of 0.115 kg per passenger-km is a convenient mid-haul economy reference you can replace with a published factor for short-haul, long-haul, or a specific airline fleet. Cabin class factors reallocate emissions according to floor space and load assumptions—economy near 1.0, premium economy often near 1.5, business near 2.0, and first class higher still—so two people on the same aircraft can correctly receive different footprints.
Radiative forcing multiplies CO₂ to approximate climate effects from contrails, water vapour, and NOx at cruise altitude; values near 1.9 are common in European guidance when non-CO₂ effects are included, while 1.0 keeps the result as pure CO₂ mass. When distance is zero the product is zero emissions, which is correct for a cancelled stage or a ground distance of zero.
Where a per-passenger flight footprint helps
Corporate travel and expense platforms need a deterministic oracle that turns each itinerary leg into a CO₂e line item for Scope 3 reporting without embedding spreadsheet macros in every service. Sustainability dashboards compare economy versus business footprints on the same route by swapping only the cabin factor while holding distance, emission factor, and radiative forcing fixed. Content sites that rank for flight carbon footprint per passenger calculator benefit from a live tool whose English landing page explains distance, cabin, RFI, and the base factor in plain language.
Failed validation does not consume balance. Pin rounded outputs in tests, document which emission factor and RFI your organisation standardises on, and you get reproducible per-passenger flight carbon numbers for reporting, education, and product UX without standing up a full lifecycle inventory system.
What you can do with it
Corporate travel Scope 3 line items
Convert each booked leg into kg and tonnes of CO₂e using distance, cabin class, and a company-standard emission factor and RFI.
FAQ
How is flight carbon footprint per passenger calculated?
Tonnes are kilograms divided by 1000. Defaults apply when cabin, RFI, or emission factor are omitted.
What happens if flight distance is negative?
Flight distance cannot be negative; validation failures are not billed.
Can I use my own emission factor?
Yes. The default is 0.115 kg of CO₂ per passenger-kilometre, a mid-haul economy reference. Replace it with a published factor for short-haul, long-haul or a specific airline fleet whenever you have one.
How much more does a business class seat emit than economy?
About twice as much. Economy uses a cabin factor of 1.0 and business about 2.0, because each business passenger occupies more of the aircraft; premium economy sits near 1.5 and first class near 2.5.
Should I include radiative forcing in my flight footprint?
Include it if you want contrails, water vapour and NOx at cruise altitude counted; the default of 1.9 is common in European guidance. Set it to 1 when you need a pure CO₂ figure.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/earth/carbon-footprint-flight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"distance_km":5500}'const res = await fetch("https://api.kit.forhosting.com/earth/carbon-footprint-flight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"distance_km": 5500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/carbon-footprint-flight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"distance_km": 5500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/carbon-footprint-flight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"distance_km":5500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"distance_km":5500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/carbon-footprint-flight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"distance_km": 5500
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.carbon_footprint_flight",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What per-passenger flight CO₂e means and how the product is built
This endpoint does not invent an aircraft type or a routing engine: you supply the numbers you trust, and it returns a stable product rounded for reproducible tests.
Input contract, defaults, response fields, and error behaviour
Cabin factor and radiative forcing must be finite and strictly positive when provided; the emission factor must be finite and non-negative. Distance must not be negative. All numeric fields are rounded to twelve decimal places for stable goldens across runtimes. The capability does not convert miles to kilometres for you—convert first if your source data is in miles—and it does not look up airport pairs or schedules over the network. POST a JSON body with distance_km as a required finite number (aliases: distance, km, flight_distance_km, range_km). Optionally send cabin_factor (aliases: cabin, class_factor, cabin_class_factor, seat_factor), radiative_forcing (aliases: rfi, rf, rf_multiplier, radiative_forcing_index), and emission_factor_kg_per_km (aliases: emission_factor, ef, kg_per_km, co2_factor). Omitted cabin_factor defaults to 1.0 (economy reference). Omitted radiative_forcing defaults to 1.9. Omitted emission_factor_kg_per_km defaults to 0.115 kilograms per passenger-kilometre. On success the body echoes distance_km, cabin_factor, radiative_forcing, and emission_factor_kg_per_km (after defaults are applied), plus emissions_kg_co2e, emissions_tonnes_co2e (kilograms divided by one thousand), and a short formula string you can display next to the result. Example: distance_km 5500 with defaults yields emissions equal to 5500 × 0.115 × 1.0 × 1.9 kilograms of CO₂e. Example: the same distance with cabin_factor 2.0 roughly doubles the footprint for a business-class seat under the same emission factor and RFI. Negative distance_km fails with invalid_input and a message that flight distance cannot be negative; missing distance, non-finite values, non-positive cabin or RFI, or a negative emission factor also fail as invalid_input. Those validation failures are not billed.
Integration use cases
Economy vs business footprint compare
Hold distance and factors fixed and change only cabin_factor to show how premium seating multiplies per-passenger emissions.
Offset checkout and education widgets
Quote CO₂e for a flight in a free browser tool that matches the API result used for paid automation and homework checks.
Technical questions
What do cabin_factor and radiative_forcing mean?
cabin_factor scales emissions by seating class (1.0 economy, higher for premium cabins). radiative_forcing multiplies CO₂ to include non-CO₂ aviation effects; 1.9 is a common default, 1.0 is CO₂-only.
Can I use my own emission factor?
Yes. Send emission_factor_kg_per_km (or aliases ef, kg_per_km, co2_factor) as kilograms of CO₂ per passenger-kilometre before cabin and RFI multipliers. The default is 0.115 if omitted.
What does the flight carbon footprint calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.