Heat of solution calculator
Dissolving 0.1 mol of solute that releases −4.2 kJ gives a molar heat of solution of −42 kJ/mol, an exothermic process. Enter the measured heat and the moles dissolved to get ΔH_sol and a clear label. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Heat
- -4.2
- Moles
- 0.1
- Heat of solution
- -42
- Process
- exothermic
The molar heat of solution, often written Delta H sub sol, is the enthalpy change when one mole of solute dissolves in a solvent under stated conditions. In the laboratory you rarely dissolve exactly one mole; instead you measure the heat q exchanged by the process for a known amount of solute n and normalize: Delta H sub sol equals q divided by n. A positive result means the dissolution is endothermic and the surroundings cool or heat must be supplied; a negative result means the dissolution is exothermic and the surroundings warm. This calculator takes those two finite numbers—heat and moles—returns the molar heat of solution with a clear thermal process label, and rejects zero moles because dividing by zero would invent a meaningless molar quantity. Keep energy units consistent: if q is in kilojoules then Delta H sub sol is in kilojoules per mole; if q is in joules the answer is joules per mole.
How molar heat of solution is defined and computed
Start from a dissolution experiment in which a measured amount of pure solute is added to solvent under constant pressure conditions that approximate the standard solution process of interest. Calorimetry or an equivalent energy balance gives the heat q associated with that event. Chemistry textbooks and data tables report the intensive quantity per mole of solute, so you divide: Delta H sub sol equals q over n, where n is the moles of solute that actually dissolved.
The sign convention used here is the system convention of chemical thermodynamics: heat absorbed by the dissolving system is positive, so endothermic salts such as ammonium nitrate show positive Delta H sub sol, while exothermic salts such as sodium hydroxide or calcium chloride show negative Delta H sub sol when the heat released is entered as a negative q. The arithmetic is a single division after validating that both fields are finite numbers and that n is strictly greater than zero. Entries of NaN or Infinity are rejected early.
A zero or non-positive mole amount fails with a message that molar heat of solution is undefined when n equals zero, so clients can fix the stoichiometry rather than receiving Infinity or a silent NaN. Optional downstream work such as converting grams to moles or reconstructing q from m times c times Delta T belongs in separate tools; this page stays focused on the normalizing step that students and lab notebooks actually ask for by name.
What you send and what you get back
Send two fields. The field heat is a finite number for the heat q exchanged during dissolution, in any consistent energy unit such as joules or kilojoules. The field moles is a finite positive number for the amount of solute dissolved in moles.
Both fields are required. Classic textbook checks include dissolving zero point one moles of solute with a measured heat of negative four point two kilojoules to obtain negative forty two kilojoules per mole (exothermic), and absorbing twelve kilojoules while dissolving zero point five moles to obtain twenty four kilojoules per mole (endothermic).
Where heat of solution calculators show up in real work
Secondary-school and college general chemistry courses constantly assign heat of solution problems that start from a coffee-cup calorimeter heat and a weighed sample converted to moles; a single trusted oracle that returns Delta H sub sol and the endothermic or exothermic label speeds grading and demo setup. Process chemists and formulation teams record heats when salts, sugars, or pharmaceutical actives dissolve during scale-up, and they need a transparent molar value for heat-balance sheets rather than a black-box enthalpy lookup.
Cold-pack and hot-pack demos in outreach labs use ammonium nitrate or calcium chloride dissolution, and instructors want students to compute the molar heat from measured temperature changes after converting mass to moles. Quality labs that already know q from instrument software still need a deterministic divide-and-label step for LIMS exports and CAPA reports.
If you later need only calorimetry heat Q equals m c Delta T, reaction enthalpy from standard heats of formation, or Gibbs free energy from enthalpy and entropy, treat those as separate search intents and landings rather than overloading this heat of solution calculator page.
What you can do with it
Homework and exam answer keys
Convert measured dissolution heat and solute moles into ΔH_sol with an endothermic or exothermic label for consistent grading.
Lab notebook normalization
Turn coffee-cup calorimeter heat and weighed moles into a molar heat of solution for reports and heat-balance sheets.
Cold-pack and hot-pack demos
Show students why ammonium nitrate packs feel cold and calcium chloride packs feel warm from the sign of ΔH_sol = q/n.
FAQ
What is the molar heat of solution?
It is the enthalpy change when one mole of solute dissolves under the stated conditions. From an experiment you compute ΔH_sol = q / n, where q is the heat exchanged and n is the moles of solute that dissolved.
What does it cost?
The browser tool is free and runs locally.
How do I know whether the dissolving is endothermic or exothermic?
A positive result means the solution absorbs heat and the surroundings cool, so it is endothermic. A negative result means heat is released and the surroundings warm. A heat close to zero is labelled thermally neutral.
Which energy unit should I use?
Any, as long as you keep it consistent. If the heat is in kilojoules the answer is in kilojoules per mole, and if it is in joules the answer is in joules per mole.
Can it work out the heat from mass, specific heat and temperature change?
No. This page only does the dividing step, heat over moles. Calculate the heat from your calorimeter readings, and convert grams of solute to moles, with separate tools first.
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-solution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"heat":-4.2,"moles":0.1}'const res = await fetch("https://api.kit.forhosting.com/chem/heat-of-solution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"heat": -4.2,
"moles": 0.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/heat-of-solution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"heat": -4.2,
"moles": 0.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/heat-of-solution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"heat":-4.2,"moles":0.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"heat":-4.2,"moles":0.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/heat-of-solution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"heat": -4.2,
"moles": 0.1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.heat_of_solution",
"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.
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
How molar heat of solution is defined and computed
If the measured heat is essentially zero within floating-point noise, the calculator labels the process thermal_neutral rather than inventing a direction. There is no random seed, no wall-clock timestamp, no network call, and no model drift, so identical heat and moles always produce identical JSON.
What you send and what you get back
Missing fields, empty strings, non-numeric strings, NaN, Infinity, and non-positive moles fail with invalid_input and are not charged. When moles is zero the request fails with a clear message that Delta H sub sol equals q over n is undefined for n equals zero. On success the response echoes the cleaned heat and moles, the molar heat of solution heat_of_solution, a process label of endothermic, exothermic, or thermal_neutral, the unit string energy per mol reminding you to keep energy units consistent with your choice of q, the formula string Delta H sub sol equals q over n, and the method heat_of_solution. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where heat of solution calculators show up in real work
Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.
Technical questions
What happens if moles is zero?
The request fails with invalid_input. Molar heat of solution is undefined when n = 0 because the formula divides by the amount of solute.
How do I know if dissolution is endothermic or exothermic?
Positive heat_of_solution means endothermic (system absorbs heat). Negative means exothermic (system releases heat). Near-zero results are labeled thermal_neutral.
What units should I use?
Keep energy units consistent. If heat is in kJ, heat_of_solution is in kJ/mol; if heat is in J, the answer is in J/mol. moles must be in mol.