Projected Annual Emissions
{{ total_t.toFixed(2) }} tCO₂e
Budget {{ budget_t.toFixed(2) }} t · Under by {{ Math.abs(gap_t).toFixed(2) }} t Over by {{ gap_t.toFixed(2) }} t
Preset: {{ budgetPresetLabel }} Grid {{ grid_intensity_kg_per_kwh }} kg/kWh {{ car_type==='ice'?'Car (ICE)':'Car (EV)' }} Offsets {{ formatNumber(offsets_kg,0) }} kg {{ gap_kg<=0?'On track':'Needs cuts' }}
/ year:
kg / year:

kWh / month:
kg / kWh:
therm / month:
kg / therm:
L / month:
kg / L:

mi / year:
mpg:
kg / gal:
mi / year:
kWh / 100 mi:
km / year:
kg / km:
{{ Number(rf_multiplier || 0).toFixed(1) }}×
km / year:
kg / km:

kg / day:
kg / year:
people:
Category kg / year % of total Copy
{{ r.label }} {{ formatNumber(r.kg,0) }} {{ r.share.toFixed(1) }}%
Total {{ formatNumber(total_kg,0) }} 100%
Budget (kg/yr) {{ formatNumber(budget_kg,0) }} {{ budget_kg>0 ? ((total_kg/budget_kg)*100).toFixed(1) : '—' }}%
{{ gap_kg<=0 ? 'Under by' : 'Over by' }} {{ formatNumber(Math.abs(gap_kg),0) }}

                
:

A personal carbon budget is the amount of greenhouse-gas emissions you decide is acceptable for one year of living. It only becomes useful when electricity, home heating, driving, flights, food, and other consumption are translated into the same unit. This analyzer does that translation, then shows whether your projected annual total sits above or below a budget you choose.

The package combines home energy, transport, flights, diet, other annual emissions, and purchased offsets into kilograms and tonnes of CO₂e. The result is more than one headline number. You get Projected Annual Emissions, the chosen budget, an Over by or Under by gap, a category table, a share breakdown chart, a cumulative trend against the yearly budget, and a JSON payload containing inputs, totals, and monthly rollups.

That makes the tool useful for first-pass planning. A gas-heated home may find heating and food dominate transit, while a frequent flyer may see flights and the non-CO₂ multiplier overwhelm smaller lifestyle tweaks.

The result should not be mistaken for a formal carbon inventory. The package uses user-entered factors, spreads annual sources evenly across the year for its trend line, and treats offsets as a subtraction from the final total rather than proof that the underlying activity disappeared. It is better for prioritization than audited reporting.

Use it to find the biggest levers, then replace the defaults with local factors or measured records when you need a more defensible estimate. The tool runs locally in the browser.

Everyday Use & Decision Guide:

A solid first pass starts with the budget rather than the factors. Pick a preset or switch to Custom, then enter the energy use and travel you actually expect over a normal year. The neutral defaults are good enough for a rough scan, but the biggest improvement in trust usually comes from replacing broad factors like grid intensity or vehicle efficiency with values that match your location and vehicle.

The most useful comparison is usually the biggest category before and after a realistic change. If flights are already large, more precision on home lighting will not change the picture much. If gas heating and diet dominate, start there before worrying about tiny transit adjustments.

  • Choose either Car (ICE) or Car (EV); the tool does not combine both paths at once, and Car occupancy divides the personal share of those miles.
  • If you fly at all, set Flights (km), Flight factor, and the Non-CO₂ multiplier before deciding that home energy is your main issue.
  • Diet preset maps to a daily CO₂e estimate, not kilograms of food eaten per day.
  • Offsets purchased lowers the net total, but the category breakdown still shows where gross emissions are coming from.

Before trusting the outcome, make sure the largest row in Annual Emissions Overview matches the part of life you genuinely expect to matter most. If it does not, the issue is usually a factor or unit assumption rather than the total itself.

Technical Details:

Every source is converted to kilograms of CO₂e per year before anything else happens. Electricity uses monthly kilowatt-hours times a grid-intensity factor. Natural gas uses monthly therms times a gas factor. Heating oil uses monthly litres times an oil factor. Car travel branches into two different paths: internal-combustion travel converts shared annual miles into gallons and then multiplies by a fuel factor, while electric-vehicle travel multiplies shared annual miles by kilowatt-hours per 100 miles and then applies the same grid factor used for household electricity.

Flights and transit stay distance-based. Flights multiply annual passenger kilometres by a flight factor and an optional non-CO₂ multiplier. Transit multiplies annual kilometres by a transit factor. Food is modeled as a daily CO₂e value multiplied by 365, and Other is a direct annual add-on.

Once those paths are computed, the package creates three layers of interpretation. gross_kg is the sum of all positive source categories. Projected Annual Emissions is the net total after subtracting offsets, clamped so it never drops below zero. The budget is stored in kilograms even if you enter tonnes, and the gap is simply net total minus budget. Positive gap means over budget; zero or negative gap means the summary badge switches to On track.

Two output views are worth reading carefully. The donut chart uses only positive source categories, so offsets never appear as a slice. The table shows an offsets row as a negative quantity when offsets are present, but its percentage share remains zero because category shares are calculated from gross emissions. The cumulative trend chart spreads annual emissions, offsets, and the budget evenly across 12 months to show pacing, not real seasonality. The JSON tab exposes the same inputs, totals, and monthly arrays without sending data to a server.

Formula Core

The package is a deterministic emissions rollup. Each path is a multiplication from activity to annual CO₂e, then the annual budget comparison happens at the end.

E_gross = E_elec+E_gas+E_oil+E_car+E_flights+E_transit+E_diet+E_misc E_total = max(0,E_grossOffsets_kg) Budget_kg = Budget_value×(1000 if unit is tonnes, else 1) Gap_kg = E_totalBudget_kg
How each emissions path is modeled in the package
Path Activity input Factor logic Package note
Electricity kWh per month Monthly use × 12 × grid intensity Grid preset is editable, so regional values can replace the default.
Natural gas Therms per month Monthly use × 12 × gas factor Good fit for household heating or hot water if billed in therms.
Heating oil Litres per month Monthly use × 12 × oil factor Separate from gas, so you can leave one path at zero.
Car (ICE) Miles per year Shared miles ÷ mpg × fuel factor Occupancy divides the personal share of annual driving.
Car (EV) Miles per year Shared miles × kWh per 100 mi × grid intensity The EV path depends on the same grid factor used for home electricity.
Flights Kilometres per year Annual km × flight factor × non-CO₂ multiplier The multiplier is a simple uplift, not a route-specific aviation model.
Transit Kilometres per year Annual km × transit factor Useful for broad bus or rail estimates.
Diet kg CO₂e per day Daily footprint × 365 Presets stand in for dietary patterns rather than detailed food logs.
Budget status boundaries used by the package
Gap field Boundary Summary status Interpretation
gap_kg ≤ 0 On track Net annual total is at or below the chosen budget.
gap_kg > 0 Needs cuts Net annual total exceeds the chosen budget.

The preset budgets are shortcuts for 2.0, 3.0, and 5.0 tonnes per year. They change only the comparison target, not the emissions math.

Step-by-Step Guide:

A trustworthy first pass starts with the budget, then the largest sources, and ends with a quick check that the biggest row in the table matches your expectations.

  1. Choose a Preset or switch to Custom, then set the budget value and unit. The summary immediately updates Projected Annual Emissions, Budget, and the Over by or Under by message.
  2. Fill the Home Energy section with Electricity, Grid intensity, Natural gas, and Heating oil only where they apply. If a utility is not relevant, leave that path at zero instead of forcing a guess.
  3. In Transport, choose the right vehicle path. Use Car (ICE) with Economy and fuel factor for a combustion vehicle, or Car (EV) with EV consumption for an electric vehicle. Add Car occupancy only if the annual miles are shared.
  4. Add Flights (km), Flight factor, the Non-CO₂ multiplier, and Public transit (km). If you do not fly, leave flights at zero instead of lowering the flight factor to imitate no travel.
  5. In Food & Other, pick a Diet preset or enter a custom Diet emissions value, then add any Other annual emissions and purchased offsets. If the daily food number feels too abstract, keep the preset and revisit it later.
  6. Read Annual Emissions Overview first, then use Category Share Breakdown, Cumulative Emissions Trend, and JSON as consistency checks. If the total drops to zero after large offsets, remember the package clamps the net total at zero; it does not remove the gross source rows from the table.

A useful result is one that tells you where to act next, not just what your annual total is.

Interpreting Results:

Projected Annual Emissions and the Over by or Under by gap carry most of the decision value. Everything else exists to explain where that number came from and whether the comparison makes sense.

  • On track means net emissions are at or below the budget you chose. It does not mean the footprint is inherently low or that the chosen budget is the only defensible target.
  • The donut chart and percentage shares describe gross source categories. Offsets change the net total, but they do not become a source slice.
  • The cumulative trend chart is a pacing view. It spreads annual values evenly across months, so do not read the line as a calendar of when emissions actually happened.

False confidence usually comes from treating default factors as settled facts. If a source category is large enough to drive the decision, verify that category with your own bills, mileage, or region-specific factors before you act on small percentage differences elsewhere.

Worked Examples:

A default household lands well above a 3-tonne budget

With the package defaults of 300 kWh of electricity per month, 25 therms of gas per month, 2,000 flight km per year, 1,000 transit km per year, an average diet footprint, and 500 kg of other annual emissions, the calculator returns about 5.71 tCO₂e against a 3.00 t budget. The gap shows Over by 2.71 t. Diet, natural gas, and electricity are all larger than flights and transit, so food and home heating matter more than small travel tweaks here.

An EV-heavy household comes in under budget

A second run uses a 5.0 t budget, 250 kWh per month at a cleaner grid factor of 0.20, 10 therms of gas per month, an EV driven 6,000 miles per year at 28 kWh per 100 miles with average occupancy of 1.5 people, a vegetarian-style diet value of 2.0 kg CO₂e per day, 250 kg of other emissions, and 500 kg of offsets. The analyzer returns about 2.04 tCO₂e with Under by 2.96 t. It shows how cleaner electricity, shared driving, diet, and offsets move the budget comparison together.

Very large offsets can zero the net total without erasing the gross sources

A light-usage case with 150 kWh per month at a 0.20 grid factor, no gas or flights, a vegan-style diet value of 1.5 kg CO₂e per day, 50 kg of other emissions, and 7,000 kg of offsets produces a gross footprint of about 0.96 t. The net total is clamped to 0.00 tCO₂e, so the summary shows Under by 3.00 t against a 3-tonne budget. The table and donut still display electricity, diet, and other as real source categories. The right interpretation is that offsets exceeded the gross total, not that the underlying activities vanished.

FAQ:

Why does the trend chart rise smoothly even if my flight happened once?

Because Cumulative Emissions Trend divides every annual source, offset, and the chosen budget evenly across 12 months. It is a pacing chart, not a month-by-month event log.

Why do flights change the total so quickly?

The flight path multiplies annual passenger kilometres by both Flight factor and the Non-CO₂ multiplier, so flights can grow much faster than a modest change in electricity or transit.

Do offsets change the donut chart or the percentage shares?

No. Offsets reduce the net total used for the budget comparison, but the donut chart uses only positive source categories and the table percentages are based on gross emissions. The offsets row is shown as a negative quantity with no percentage share.

Can I replace the default factors with my own local data?

Yes. Grid intensity, gas and oil factors, fuel factors, flight factor, transit factor, and the diet value are all editable. That is the right move when your utility, region, or reporting method differs from the defaults.

Does any of this data leave my browser?

No server helper is shipped for this tool. The table, charts, and JSON payload are built in the browser, so your carbon-budget inputs are processed locally on your device.

Glossary:

CO₂e
Carbon dioxide equivalent, the common unit used to compare different greenhouse-gas sources.
Grid intensity
Emissions factor applied to each kilowatt-hour of electricity.
Non-CO₂ multiplier
An uplift applied to flight emissions to reflect additional high-altitude climate effects.
Offset
A quantity subtracted from the gross footprint to produce the net total.

References: