Heat of combustion calculator
Burning 2 kg of a fuel with a calorific value of 42,000,000 J/kg releases 84,000,000 joules. Enter the fuel mass and its heating value in matching units to get the heat released, with the substitution shown. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Mass
- 2
- Calorific value
- 42,000,000
- M
- 2 J
- Fuel mass
- 2
- Cv
- 42,000,000
- Heating value
- 42,000,000
A heat of combustion calculator converts a fuel sample mass and its calorific value (also called heating value or specific energy) into the energy released when that fuel burns completely. Enter a positive fuel mass and a positive calorific value in matching units—kilograms with joules per kilogram, or grams with joules per gram—and the tool returns the heat released in joules as Q equals mass times calorific value, plus mirrored field names, a formula string, and substitution steps you can paste into lab reports, homework, or energy-balance scripts.
What heat of combustion from mass and calorific value means
In thermochemistry and fuel engineering, the heat of combustion is the energy released when a given mass of fuel oxidizes completely under a stated convention for product water. For a laboratory sample or a process stream you already know two numbers: the fuel mass m and the calorific value CV, which may be a higher heating value or a lower heating value depending on whether condensed water is credited. Their product Q equals m times CV is the heat released by that batch of fuel.
When mass is in kilograms and calorific value is in joules per kilogram, Q is in joules; when mass is in grams and calorific value is in joules per gram, Q is likewise in joules. Callers who hold CV in megajoules per kilogram must convert to joules per kilogram first by multiplying by one million so the published energy field stays in joules as this landing promises.
The calculator does not look up tabulated heating values by fuel name, does not convert between higher and lower heating values, and does not integrate a bomb-calorimeter temperature rise: those are different search intents served by other tools. Teachers and automated graders care about the positive-number rejection as much as the success path.
The check path recomputes mass times calorific value with the same fixed rounding used for published fields, so a successful response always ships with steps you can assert in tests, lab notebooks, or energy-audit worksheets about combustion heat released from mass and heating value.
What you can do with it
Fuel energy audits from a datasheet heating value
Multiply a known fuel mass by the calorific value printed on a certificate of analysis to report heat released in joules for a batch, tank, or lab sample.
Chemistry homework checks for Q = m × CV
Students enter mass and calorific value from textbook combustion problems and compare hand-written joule results against a deterministic product before submitting.
FAQ
What is the heat of combustion formula from mass and calorific value?
The heat released is Q = m × CV, where m is the fuel mass and CV is the calorific value (heating value) per unit mass. With matching units the product is joules.
Why must mass and calorific value be positive?
A zero or negative fuel mass or heating value is not a physical combustion event.
What units should I use to get joules?
Use kilograms with joules per kilogram, or grams with joules per gram.
Is this the same as heat of combustion per gram from molar enthalpy?
No. This landing multiplies mass by a calorific value you already have. Converting a molar heat of combustion through molar mass is a different search intent and a different tool.
Is the heat of combustion calculator free?
The browser tool is free and runs locally.
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/chem/heat-of-combustion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass":2,"calorific_value":42000000}'const res = await fetch("https://api.kit.forhosting.com/chem/heat-of-combustion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass": 2,
"calorific_value": 42000000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/heat-of-combustion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass": 2,
"calorific_value": 42000000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/heat-of-combustion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass":2,"calorific_value":42000000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass":2,"calorific_value":42000000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/heat-of-combustion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"mass": 2,
"calorific_value": 42000000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.heat_of_combustion",
"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.
Limits
max_abs | 1000000000000 |
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
Non-positive mass or calorific value is rejected with invalid_input because a zero or negative sample or heating value is not a physical combustion event and would hide a unit or data-entry mistake.
What heat of combustion from mass and calorific value means
A learner who types zero mass after forgetting to convert milligrams, or who pastes a signed exothermic molar enthalpy instead of a positive calorific value, should see an explicit invalid_input message instead of a silent zero or a negative energy that looks like a thermodynamic sign convention.
How to call the API and what comes back
Mass must be strictly greater than zero; calorific value must be strictly greater than zero. Send a JSON body with two required positive finite numbers: mass (aliases m, fuel_mass, mass_kg, and sample_mass) and calorific_value (aliases cv, heating_value, calorific, specific_energy, hv, higher_heating_value, net_calorific_value, and q_per_mass). Absolute values must stay within the published limit of one trillion so the product remains finite in IEEE double precision on the Worker and in the browser. Zero, negative, missing, empty, or non-numeric values fail with invalid_input naming the field, and those failed tasks are never charged. On success the response echoes rounded mass and calorific_value, mirrors them under common aliases, sets energy, heat_released, q, energy_joules, and heat_of_combustion to the same rounded product in joules, formula to the string Q equals m times CV, equation to a filled substitution string, unit to J, message to a short English summary, and steps to an ordered array of calculation lines. Pricing is a flat $0.002 per successful request with unit item. Prefer JSON numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern that this contract documents.
Practical tips, limits, and related chemistry searches
Typical order-of-magnitude checks help catch unit mistakes: methane sits near fifty megajoules per kilogram, gasoline near forty-four, many coals in the mid-twenties, and oven-dry wood near sixteen, all of which must be scaled to joules per kilogram before the product is a joule figure. Prefer this capability when you already have mass and a positive calorific value and only need energy in joules. Keep units consistent with joules: if your datasheet lists forty-four megajoules per kilogram, send calorific_value as forty-four million so Q comes back in joules; if you only have a per-mole enthalpy of combustion, convert it to a per-mass calorific value with molar mass first, or use a per-gram enthalpy tool instead of this landing. When teaching chemistry or energy engineering, pair examples: two kilograms of fuel at forty-two million joules per kilogram recover eighty-four million joules; a quarter kilogram at fifty million joules per kilogram recovers twelve million five hundred thousand joules; and deliberately send mass equal to zero or a negative calorific value to demonstrate the hard invalid_input path that guards against non-physical combustion energy. This landing targets people searching for a heat of combustion calculator, fuel energy from mass and calorific value, heating value times mass in joules, or chemistry homework help for Q equals m CV. It is not a bomb-calorimeter solver, not a molar-to-per-gram enthalpy converter, not a calorific-value unit converter, and not a hydrocarbon combustion balancer. Round-trip checks are easy: recompute mass times calorific_value by hand and confirm it equals the published energy field within the same twelve-decimal rounding for lab report verification.
Integration use cases
Unit tests for student combustion energy solvers
Generate known-good Q = m × CV cases plus deliberate non-positive mass or calorific-value rejections for coding kata expected values in chemistry tools.