Heat of combustion per gram calculator
Turn a molar heat of combustion into energy per gram of fuel: methane at −890 kJ/mol and 16.04 g/mol releases about 55.5 kJ per gram. Use the negative sign convention or plain magnitudes, as your worksheet asks. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Molar heat
- -890
- Molar mass
- 16.04
- Molar heat of combustion
- -890
- Delta h c
- -890
- DH c
- -890
- Heat of combustion
- -890
A heat of combustion per gram calculator turns the molar enthalpy of combustion of a fuel and its molar mass into the energy released per gram of substance—the figure engineers and chemistry students use when comparing fuels on a mass basis rather than per mole.
What energy per gram means for fuel combustion enthalpy
In thermochemistry, the molar heat of combustion ΔH_c is the enthalpy change when one mole of a pure fuel burns completely under stated conditions, usually to carbon dioxide and water with oxygen. That molar value is ideal for balanced chemical equations, but practical fuel tables and engineering comparisons often quote energy released per gram or per kilogram of fuel, because tanks, aircraft, and batteries are constrained by mass.
Under the thermodynamic sign convention combustion is exothermic, so ΔH_c is typically entered as a negative number when lab reports expect a negative enthalpy per gram; other worksheets ask only for the magnitude of heat released per gram, and this tool accepts either convention as long as you pass finite numbers and keep units consistent. Positive and negative heats and masses are accepted as finite numbers so signed residuals and inverted sample problems can be checked with the same formula.
The check path recomputes ΔH_c over M with the same fixed rounding used for published fields, so a successful response always ships with steps you can assert in tests, fuel-comparison spreadsheets, or chemistry worksheets about combustion enthalpy density.
What you can do with it
Compare fuels on a mass-energy basis
Convert tabulated molar heats of combustion and molar masses into kJ/g so methane, ethanol, and hydrocarbons can be ranked by energy released per gram of fuel.
Chemistry homework for ΔH_c / M
Students enter molar heat of combustion and molar mass from textbook problems and compare hand-written energy per gram against a deterministic result before submitting.
FAQ
How do you calculate heat of combustion per gram?
With ΔH_c in kJ/mol and M in g/mol, the result is in kJ/g.
Should ΔH_c be positive or negative?
Combustion is exothermic, so thermodynamic reports often use a negative ΔH_c. Worksheets that want magnitude only may pass a positive heat-released value; keep units consistent either way.
Does this look up standard enthalpies by fuel name?
No. You supply ΔH_c and molar mass; the tool only performs the division and returns steps. Use a data table for standard molar values.
Is the heat of combustion per gram calculator free?
The browser tool is free and runs locally.
Why compare fuels per gram instead of per mole?
Because tanks, aircraft and batteries are limited by mass, not by moles. Per-mole values suit balanced equations, but energy per gram is what lets you rank methane, ethanol and other hydrocarbons for practical use.
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/enthalpy-combustion-per-gram \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"molar_heat":-890,"molar_mass":16.04}'const res = await fetch("https://api.kit.forhosting.com/chem/enthalpy-combustion-per-gram", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"molar_heat": -890,
"molar_mass": 16.04
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/enthalpy-combustion-per-gram",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"molar_heat": -890,
"molar_mass": 16.04
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/enthalpy-combustion-per-gram", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"molar_heat":-890,"molar_mass":16.04}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"molar_heat":-890,"molar_mass":16.04}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/enthalpy-combustion-per-gram", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"molar_heat": -890,
"molar_mass": 16.04
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.enthalpy_combustion_per_gram",
"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
Enter the molar heat of combustion ΔH_c (often a negative kilojoules-per-mole value under the exothermic convention) and the molar mass M in grams per mole; the tool returns q_g equals ΔH_c divided by M, mirrored field names for API clients, a formula string, and step-by-step substitution you can paste into lab reports, homework, or automated tests. Zero molar mass is rejected with a clear invalid_input error because dividing by M equals zero is undefined and would hide a missing molecular-weight or stoichiometry mistake.
What energy per gram means for fuel combustion enthalpy
Converting is a single division: energy per gram q_g equals molar heat of combustion divided by molar mass M. If ΔH_c is in kilojoules per mole and M is in grams per mole, q_g is in kilojoules per gram; if you keep M in kilograms per mole with matching energy units, the result is per kilogram. Teachers and automated graders care about the zero molar-mass rejection as much as the success path: a learner who forgets to look up M, who leaves M at zero after a data-entry error, or who confuses number of moles with mass should see an explicit invalid_input message instead of Infinity or NaN.
How to call the API and what comes back
Molar mass must be non-zero; values whose absolute value is at or below one times ten to the minus fifteen are treated as zero and rejected. Send a JSON body with two required finite numbers: molar_heat (aliases molar_heat_of_combustion, delta_h_c, dH_c, heat_of_combustion, enthalpy_combustion, q_molar, and Delta_H_c) and molar_mass (aliases M, molecular_weight, molecular_mass, mw, and mass_per_mole). Absolute values must stay within the published limit of one trillion so the quotient remains finite in IEEE double precision on the Worker and in the browser. On success the response echoes rounded molar_heat and molar_mass, mirrors them as molar_heat_of_combustion, delta_h_c, dH_c, heat_of_combustion, enthalpy_combustion, q_molar, M, and molecular_weight, sets energy_per_gram, heat_per_gram, q_g, q_per_gram, enthalpy_per_gram, and combustion_energy_per_gram to the same rounded result, formula to the string q_g equals ΔH_c over M, equation to a filled substitution string, message to a short English summary, and steps to an ordered array of calculation lines. Failed validation—missing fields, non-finite numbers, values outside absolute limits, or zero molar mass—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and related chemistry searches
Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern. Keep energy and mass units consistent with your report: if ΔH_c is in kilojoules per mole and M in grams per mole, q_g will be in kilojoules per gram; multiplying by one thousand recovers kilojoules per kilogram when you need SI engineering tables. When teaching chemistry, pair examples: methane-style values with ΔH_c equals negative eight hundred ninety kilojoules per mole and M equals sixteen point zero four grams per mole recover about negative fifty-five point five kJ per gram; ethanol-style ΔH_c equals negative thirteen hundred sixty-seven and M equals forty-six recover about negative twenty-nine point seven kJ per gram; a half-scale molar heat with the same M halves the per-gram result; and deliberately send molar_mass equals zero to demonstrate the hard invalid_input path that guards against undefined division. This landing targets people searching for a heat of combustion per gram calculator, fuel energy density from molar enthalpy, molar mass combustion conversion, or chemistry lab homework help online; it is not a full bomb-calorimeter temperature solver that starts from heat capacity and ΔT, not a Hess-law network for multi-step formation enthalpies, and not a tabulated standard-enthalpy lookup by fuel name. Prefer this capability when you already have ΔH_c and M and only need q_g; if your goal is to recover molar heat from a known per-gram energy, invert the same formula offline by multiplying by molar mass. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately send zero molar mass. Round-trip checks are easy: recompute ΔH_c divided by M by hand and confirm it equals the published energy_per_gram within the same twelve-decimal rounding, and confirm that q_g times M recovers the original molar heat within that rounding for lab report verification.
Integration use cases
Unit tests for student thermochemistry solvers
Generate known-good combustion energy-per-gram cases plus deliberate zero molar-mass rejections for coding kata expected values in chemistry tools.
Technical questions
What happens when molar mass is zero?
Energy per gram is undefined. This tool returns invalid_input instead of Infinity or NaN.