Oak (White) – High Heat
Hickory (Shagbark) – High Heat
Maple (Sugar) – High Heat
Beech – High Heat
Birch (White) – Medium Heat
Ash (White) – Medium Heat
Maple (Red) – Medium Heat
Douglas Fir – Medium Heat
Pine (White) – Low Heat
Cedar (Western Red) – Low Heat
Note: Seasoned wood is usually 20% or less. Green wood can be 50%+.
EPA wood stoves are typically 70-80% efficient.
Total Potential Energy: Million BTUs
Actual Usable Heat (After Efficiency): Million BTUs
Total Weight (Estimated): lbs
Heating Oil Equivalent: Gallons
Propane Equivalent: Gallons
Understanding Firewood BTU Values
Not all firewood is created equal. The energy density of wood is measured in BTUs (British Thermal Units). A single cord of high-density hardwood like White Oak can provide as much heat as nearly 200 gallons of heating oil, whereas softwoods like White Pine provide significantly less energy per volume.
How This Calculator Works
The calculator uses the standard volume of a cord (128 cubic feet of stacked wood). It takes the base BTU potential of your selected species and adjusts for two critical factors:
Moisture Content: Wood with high moisture uses much of its energy just to evaporate the water inside, significantly reducing your actual heat output. Every 1% increase in moisture above 20% reduces effective heat by roughly 1%.
Stove Efficiency: No wood stove is 100% efficient. Modern EPA-certified stoves convert more wood into heat and less into smoke than older open fireplaces.
Firewood BTU Chart (Per Seasoned Cord)
Wood Species
Million BTUs per Cord
Weight (lbs)
Heat Level
White Oak
26.4
4,200
Excellent
Sugar Maple
24.0
3,900
Excellent
White Ash
23.6
3,680
Good
Black Walnut
20.2
3,190
Fair
White Pine
14.3
2,250
Low
Example Calculation
If you have 2 cords of Sugar Maple at 20% moisture burning in a 75% efficient stove:
Base energy: 24.0 million BTU x 2 cords = 48.0 million BTU potential.
Efficiency adjustment: 48.0 x 0.75 = 36.0 million BTUs of actual heat delivered to your home.
This is roughly equivalent to burning 260 gallons of heating oil.
function calculateFirewood() {
var woodData = document.getElementById("woodType").value.split("|");
var btuPerCord = parseFloat(woodData[0]);
var weightPerCord = parseFloat(woodData[1]);
var cords = parseFloat(document.getElementById("cords").value);
var moisture = parseFloat(document.getElementById("moisture").value);
var efficiency = parseFloat(document.getElementById("efficiency").value) / 100;
if (isNaN(cords) || cords 20) {
moisturePenalty = 1 – ((moisture – 20) / 100);
} else if (moisture < 20) {
moisturePenalty = 1 + ((20 – moisture) / 100);
}
var totalPotentialBTU = btuPerCord * cords * moisturePenalty;
var actualUsableBTU = totalPotentialBTU * efficiency;
// Weight adjustment for moisture (approximate)
var weightPenalty = 1 + ((moisture – 20) / 100);
var totalWeight = weightPerCord * cords * weightPenalty;
// Comparison values
// 1 Gallon Heating Oil = ~138,500 BTU
// 1 Gallon Propane = ~91,500 BTU
var oilGallons = (actualUsableBTU * 1000000) / 138500;
var propaneGallons = (actualUsableBTU * 1000000) / 91500;
// Display Results
document.getElementById("totalBTU").innerHTML = totalPotentialBTU.toFixed(1);
document.getElementById("usableBTU").innerHTML = actualUsableBTU.toFixed(1);
document.getElementById("totalWeight").innerHTML = Math.round(totalWeight).toLocaleString();
document.getElementById("oilEquiv").innerHTML = Math.round(oilGallons).toLocaleString();
document.getElementById("propaneEquiv").innerHTML = Math.round(propaneGallons).toLocaleString();
document.getElementById("firewood-result").style.display = "block";
}