Paste this where you want the calculator to appear. It works on any site — WordPress, Squarespace, Webflow, Ghost or plain HTML — and needs no JavaScript of yours. It carries a link back here, which is the only thing we ask for it.
In most textile mills the boiler, not the electricity meter, dominates the carbon number.
Carbon Intensity
—kgCO2/kg
Emissions carried by each kilogram of fabric
Emissions Profile
Total Emissions
—t/day
From Electricity (Scope 2)
—t/day
From Fuel (Scope 1)
—t/day
Annual Emissions
—t/year
Emission Sources
—% electricity—% fuel
This covers gate-to-gate mill operations only. A full product footprint must also carry fibre production, transport and garment making.
Using this calculator
About the Textile Mill Carbon Footprint Calculator
The formula
This is the expression the tool evaluates. Every term is named underneath, with the unit it must be supplied in.
Scope 2 from purchased electricity, tonnes CO2 per dayelectricityCO2 = electricity x gridFactor / 1000
gridFactor is in kgCO2/kWh, so the product is kilograms; the divide by 1000 puts it on the same tonne basis as the fuel line before the two are added. Grid factors are published per MWh as often as per kWh - 710 kgCO2/MWh and 0.71 kgCO2/kWh are the same number, and mixing the two is the most common error in this field.
Scope 1 from on-site combustion, tonnes CO2 per dayfuelCO2 = fuel x fuelFactor
fuelFactor is already tonne CO2 per tonne of fuel, so no conversion is needed. 2.42 is not arbitrary: carbon burns to CO2 at a mass ratio of 44/12 = 3.667, and bituminous coal is about 66% carbon by mass, so 0.66 x 3.667 = 2.42. The same figure falls out of the energy route: 94.6 kgCO2/GJ x 25.6 GJ/t = 2.42 tCO2/t. A tonne of fuel always yields more than a tonne of CO2 because the oxygen is picked up from the air.
Gate-to-gate mill emissions, tonnes per daytotalCO2 = electricityCO2 + fuelCO2
The two scopes are simply summed because they are already on a common tonne-per-day basis. They are kept as separate outputs rather than folded together because the levers differ: the fuel line moves with boiler and steam work, the electricity line with a supply contract.
Carbon intensity of the fabricco2PerKgFabric = totalCO2 x 1000 / fabricProcessed
totalCO2 is in tonnes per day while fabricProcessed is in kilograms per day, so the x 1000 converts the emissions to kilograms and the answer is kgCO2 per kg of fabric - a mass ratio, dimensionless in disguise. Both figures must cover the same period and the same set of processes or the ratio means nothing.
Annual reported emissionsannualCO2 = totalCO2 x operatingDays
operatingDays is production days, not calendar days. Shutdown days are excluded entirely, which understates the annual figure in a mill that keeps a boiler banked or runs standby load over holidays.
Symbols used above
Symbol
Stands for
Unit
electricity
Electricity Used
kWh/day
gridFactor
Grid Emission Factor
kgCO2/kWh
fuel
Boiler Fuel Burned
t/day
fuelFactor
Fuel Emission Factor
tCO2/t
fabricProcessed
Fabric Processed
kg/day
operatingDays
Operating Days per Year
days
co2PerKgFabric
Carbon Intensity
kgCO2/kg
totalCO2
Total Emissions
t/day
electricityCO2
From Electricity (Scope 2)
t/day
fuelCO2
From Fuel (Scope 1)
t/day
annualCO2
Annual Emissions
t/year
How the result is derived
Step by step, from the values you type to the figure on screen.
Take electricity from the utility meter for exactly the same period as the fuel and the fabric, not from connected load or a machine-level estimate. Compressors, humidification, lighting and the effluent treatment plant are all Scope 2 and all sit on that meter, and together they are rarely a small share of it.
Enter gridFactor from the grid operator's published factor for the reporting year, not a global average. National factors run from under 0.05 kgCO2/kWh on a hydro or nuclear grid to above 0.8 on a coal-heavy one, so this one field swings the Scope 2 line by more than any efficiency project on the floor will.
Weigh the boiler fuel as fired and confirm fuelFactor is on the same moisture basis. Coal is invoiced and burned as-received, but laboratory carbon and calorific values are usually reported dry or dry-ash-free; applying a dry-basis factor to wet tonnage overstates the fuel line by roughly the moisture percentage.
The two streams are brought to a common tonne-per-day basis before they are added - the electricity term divided by 1000 because its factor is in kilograms, the fuel term untouched because its factor is already tonne per tonne. Only then does the split between Scope 1 and Scope 2 mean anything.
Divide by fabricProcessed to allocate. Use the mass that actually passed through the machines, including reprocessed and rejected goods, not the saleable output. Allocating to saleable weight is a legitimate alternative figure, but the two are different metrics and must never be compared with each other.
Multiply by operatingDays for the annual number that goes into the inventory. Reconcile it against the fuel purchase ledger and twelve months of electricity bills before it is reported, because a daily average scaled to a year hides seasonal steam load.
What each input means
Where to read each value on the floor, the unit it must be in, and the range the tool accepts.
Input
Unit
Accepted range
Default
What it means
Electricity Used
kWh/day
0 to 1000000 kWh/day
12000
Grid Emission Factor
kgCO2/kWh
0 to 2 kgCO2/kWh
0.71
Boiler Fuel Burned
t/day
0 to 1000 t/day
8
Fuel Emission Factor
tCO2/t
0 to 5 tCO2/t
2.42
Fabric Processed
kg/day
1 to 1000000 kg/day
20000
Operating Days per Year
days
1 to 366 days
300
What the tool returns
The headline figure and every supporting value it is built from.
Output
Unit
What it tells you
Carbon Intensity (headline result)
kgCO2/kg
Emissions carried by each kilogram of fabric
Total Emissions
t/day
From Electricity (Scope 2)
t/day
From Fuel (Scope 1)
t/day
Annual Emissions
t/year
Worked example
Given
Electricity used
12,000 kWh/day
Grid emission factor
0.71 kgCO2/kWh
Boiler fuel burned
8 t/day (bituminous coal)
Fuel emission factor
2.42 tCO2/t
Fabric processed
20,000 kg/day
Operating days per year
300 days
Substituting
electricityCO2 = 12000 x 0.71 / 1000 = 8.52 t/dayfuelCO2 = 8 x 2.42 = 19.36 t/daytotalCO2 = 8.52 + 19.36 = 27.88 t/dayco2PerKgFabric = 27.88 x 1000 / 20000 = 1.394 kgCO2/kgannualCO2 = 27.88 x 300 = 8,364 t/year
Answer
Carbon intensity
1.39 kgCO2/kg
Total emissions
27.88 t/day
From electricity (Scope 2)
8.52 t/day
From fuel (Scope 1)
19.36 t/day
Annual emissions
8,364 t/year
This mill draws 0.6 kWh and burns 0.4 kg of coal for every kilogram of fabric - about 10.2 MJ/kg of fuel energy at a 25.6 GJ/t coal, a moderate wet-processing thermal load. Fuel carries 69% of the total against 31% for electricity, and that ratio is the whole point of the split. A fully renewable power contract with the boiler untouched moves intensity from 1.394 to 0.968 kgCO2/kg, a 31% cut. Switching the boiler to natural gas at equal heat duty, with the grid unchanged, gives 1.00 kgCO2/kg, a 28% cut. Doing both lands at 0.574 kgCO2/kg - the thermal decision is the one that has to be made.
How to use it
Work through the input groups in order — Electricity, Fuel and Production. The defaults are a realistic case, so you can change one value at a time and watch what moves.
There is no calculate button. Every figure recalculates as you type or drag, which is what makes this usable for a what-if sweep rather than a single answer.
Read Carbon Intensity in the dark results panel — that is the headline figure, expressed in kgCO2/kg.
Check the supporting rows underneath (Total Emissions, From Electricity (Scope 2), From Fuel (Scope 1) and Annual Emissions) before acting on the headline — they are where an implausible input usually shows itself first.
Reset to defaults returns every field to the reference case, which is the quickest way to check whether a surprising result came from the tool or from an input you had changed earlier.
Where this is used
Brand and Higg FEM reporting - customers ask for gate-to-gate kgCO2 per kg of fabric with the Scope 1 and Scope 2 split shown, because a mill that is 69% fuel and a mill that is 69% electricity need entirely different reduction plans even at identical intensity.
Sizing a renewable power contract against what it can actually buy. Here electricity is 8.52 of 27.88 t/day, so even a fully renewable supply takes intensity only from 1.394 to 0.968 kgCO2/kg - a 31% cut. The remaining 69% sits in the boiler and no power contract will touch it.
Fuel switching evaluated on equal heat duty rather than equal tonnage. Replacing 8 t/day of coal with the natural gas that delivers the same 205 GJ - about 4.27 t/day at 2.69 tCO2/t - drops fuelCO2 from 19.36 to 11.49 t/day and intensity from 1.394 to 1.00 kgCO2/kg.
Carbon-price exposure inside a quotation. At this intensity every USD 10 per tonne of carbon price adds USD 0.014 to the cost of a kilogram of fabric, so a USD 50 price is about 7 US cents per kg - small against yarn cost, material against a thin conversion margin.
Utilisation and order-book decisions. The boiler carries a standing load, so running short raises carbon per kilogram even while total emissions fall: dropping fabricProcessed from 20,000 to 12,000 kg/day with steam down only 15% cuts annual emissions from 8,364 to 6,982 t but lifts intensity from 1.394 to 1.939 kgCO2/kg.
Reading the result
Typical bands and what each one is telling you.
Value
What it indicates
Below 0.8 kgCO2/kg
Only reachable when the thermal side is decarbonised, not the electrical side - a biomass or waste-heat boiler, or heat recovery on hot effluent. Zeroing gridFactor alone still leaves the worked example at 0.968. Confirm the fuel and fabric figures cover the same process set before reporting a number this low.
0.8 to 1.5 kgCO2/kg
A gas-fired mill, or a coal-fired one with genuine steam discipline: condensate returned, traps working, mains insulated, batches run at low liquor ratio. The worked example sits at 1.39 on coal because its thermal demand is only about 10.2 MJ per kg of fabric.
1.5 to 3.0 kgCO2/kg
The common band for coal- or oil-fired batch wet processing on a carbon-intense grid. Nearly all of the gap to the band above is in the boiler house and the steam distribution, not at the electricity meter, so a steam audit pays back before a power contract does.
3.0 to 5.0 kgCO2/kg
Long process routes with repeated shade corrections, high liquor ratios, or steam housekeeping that has been left alone - leaking traps, uninsulated headers, condensate to drain. Chase the reprocessing rate first: every reprocessed batch buys steam twice and sells fabric once.
Above 5.0 kgCO2/kg
Audit the inputs before the plant. Two data errors produce this: fabricProcessed entered as saleable output while the fuel covers rejects and reprocessing, or a fuel figure that includes a captive power plant whose electricity is then also counted in the Scope 2 line. If the inputs are sound, the mill is severely part-loaded - cutting fabric 40% while steam falls only 15% already lifts the worked example by 39%.
Assumptions and limits
This covers gate-to-gate mill operations only. A full product footprint must also carry fibre production, transport and garment making.
Every input is bounded to the range normal practice occupies (Electricity Used 0 to 1000000 kWh/day, Grid Emission Factor 0 to 2 kgCO2/kWh and Boiler Fuel Burned 0 to 1000 t/day, and so on for the rest). Those bounds are guard rails against typing errors, not a claim that the formula fails one unit outside them.
The calculation is deterministic: the same inputs always give the same result. It carries no allowance for machine condition, operator skill, ambient conditions or lot-to-lot material variation unless an input above explicitly represents one.
Nothing is sent anywhere. The maths runs in your browser, so the numbers you type never leave the page.
Standards and further reading
GHG Protocol Corporate Accounting and Reporting Standard - defines the Scope 1 and Scope 2 boundary the two input groups follow, and the location-based versus market-based treatment that decides what gridFactor may be.
ISO 14064-1 - organization-level quantification and reporting of greenhouse gas emissions and removals. This is what a verified mill inventory is audited against, and it governs the boundary, the period and the documentation behind every figure entered here.
ISO 14067 - carbon footprint of products. The standard that consumes the per-kilogram result once fibre production, transport and making-up are added; it is also why the tool note insists this is gate-to-gate only.
ASTM D3176 (ultimate analysis of coal and coke) with ISO 1928 or ASTM D5865 (gross calorific value) - the fuel tests behind fuelFactor. Carbon percent from the ultimate analysis times 44/12 gives tCO2/t directly, and the calorific value is what allows two fuels to be compared on equal heat rather than equal tonnage.
Questions people ask
Why is fuelFactor per tonne of fuel rather than per gigajoule?
Because a mill weighs fuel, it does not meter heat. The trap is that per tonne natural gas looks worse than coal - about 2.69 against 2.42 tCO2/t - while per unit of heat it is far better, roughly 56 against 95 kgCO2/GJ, because a tonne of gas carries near 48 GJ against 25 to 26 GJ for bituminous coal. Always convert a fuel comparison to equal heat duty before entering it: 8 t/day of coal is about 4.27 t/day of gas, and only then does the fuel line fall from 19.36 to 11.49 t/day.
We have rooftop solar and a renewable supply contract. How do I show them?
Behind-the-meter solar consumed on site never appears on the utility bill, so entering metered purchased electricity already excludes it - there is nothing further to subtract, and subtracting it again double-counts the benefit. A contracted renewable supply is different: it lowers gridFactor only in a market-based inventory, and only if the attribute certificates are retired against this consumption rather than sold on. Report the location-based figure alongside it, because that is the one showing what the plant physically drew from the grid.
Our boiler burns biomass. Do I just enter fuelFactor as zero?
Not silently. Under the GHG Protocol, biogenic CO2 from sustainably sourced biomass is reported on a separate line outside the Scope 1 total rather than counted inside it, so a zero can be defensible - but the methane and nitrous oxide from combustion, and any fossil oil or gas used for start-up and flame stabilisation, still belong in Scope 1. Enter the fossil portion here and record the biogenic tonnage separately, or an auditor will read the zero as an omission rather than a treatment.
Why is this so much lower than the footprint our brand quotes for the finished garment?
Because this is gate-to-gate mill operations only, exactly as the tool note says. A product footprint also carries fibre production, spinning, weaving or knitting, transport at every hop, cut-and-sew and packaging, and for most fibres the upstream stages together outweigh wet processing. Expect the cradle-to-gate product figure to be a multiple of this one rather than a small increment, and never present the two as the same metric in the same document.