Henry's law gas solubility calculator
With a Henry constant of 0.0013 mol/(L·atm) and a partial pressure of 1 atm, the dissolved concentration is 0.0013 mol/L. Enter the gas pressure above the liquid and the tabulated constant to get the equilibrium concentration. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Partial pressure
- 1
- Henry constant
- 0.0013
- Concentration
- 0.0013
Henry's law links the amount of a gas that dissolves in a liquid to the partial pressure of that gas above the solution. In the solubility form used here, concentration equals the Henry constant times partial pressure, so lab notebooks, environmental models, and process checks can turn a measured headspace pressure and a tabulated k_H into an equilibrium dissolved concentration without re-deriving the relation each time.
What Henry's law returns and how to choose partial pressure and k_H
Write the equilibrium solubility as concentration c equals Henry constant k_H times gas partial pressure p. The partial pressure is the pressure contribution of the target gas in the gas phase above the liquid, expressed in whatever pressure unit your constant expects—atmospheres, bar, pascals, or torr—so long as k_H was defined with that same unit in the denominator. The Henry constant in this product is the solubility form that multiplies pressure to yield concentration; common classroom examples quote oxygen or carbon dioxide in water as moles per liter per atmosphere.
Zero or negative k_H is invalid input because a non-positive scaling factor is unphysical for this solubility contract and would hide bad data instead of failing loudly.
What you can do with it
Homework and lab report checks
Students compute dissolved concentration from textbook k_H and a given partial pressure, compare against hand work, and get a clear error when a zero or negative constant is entered by mistake.
Water quality and environmental models
Monitoring tools convert headspace oxygen or CO2 partial pressure plus a tabulated Henry constant into equilibrium aqueous concentration for alerts and reports.
Process and beverage carbonation estimates
Lightweight process scripts estimate dissolved gas levels from known k_H and operating partial pressure without embedding a full thermodynamics library.
FAQ
How do I compute dissolved gas concentration with Henry's law?
The response concentration equals k_H times p using the solubility form of Henry's law.
What happens if the Henry constant is zero or negative?
A zero or negative k_H is rejected because it is unphysical for this solubility calculator and is not charged after validation fails.
Which form of Henry's constant should I use?
Use the solubility form where concentration equals k_H times partial pressure. Do not send a volatility-form constant (pressure over mole fraction) without converting it first.
Is the Henry's law gas solubility calculator free?
The browser tool runs free on your device.
Do I need matching units for pressure and k_H?
Yes. Choose any consistent pair: if k_H is in mol/(L·atm), send p in atm so concentration is in mol/L.
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/henrys-law-solubility \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"partial_pressure":1,"henry_constant":0.0013}'const res = await fetch("https://api.kit.forhosting.com/chem/henrys-law-solubility", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"partial_pressure": 1,
"henry_constant": 0.0013
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/henrys-law-solubility",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"partial_pressure": 1,
"henry_constant": 0.0013
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/henrys-law-solubility", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"partial_pressure":1,"henry_constant":0.0013}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"partial_pressure":1,"henry_constant":0.0013}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/henrys-law-solubility", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"partial_pressure": 1,
"henry_constant": 0.0013
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.henrys_law_solubility",
"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
This capability multiplies those two inputs deterministically, rejects a zero or negative Henry constant with a clear invalid input error, and returns structured JSON that homework checkers, water-treatment tools, and lightweight chemistry pipelines can pin in tests.
What Henry's law returns and how to choose partial pressure and k_H
Send required fields partial_pressure and henry_constant as JSON numbers or numeric strings; aliases p, P, pressure, and p_gas map to partial pressure, while k_H, kH, H, henry, and K_H map to the constant. Non-negative partial pressure is required; negative pressure fails with invalid_input. Identical inputs always produce identical JSON because the path is pure arithmetic with no network, no random seed, and no wall clock.
Reading concentration, formula labels, and keeping units consistent
Use concentration alone when a sensor pipeline only needs the dissolved value; use the echoed inputs when audit logs must show exactly which pressure and constant produced the result; use formula and method when UIs display the equation next to the number. On success the response echoes partial_pressure and henry_constant, reports concentration as their product, and labels formula as c equals k_H times p with method henrys_law_solubility so downstream code can branch without sniffing shapes. A units_note field reminds integrators that concentration units are the product of the constant units and the pressure units—for example mol per liter when k_H is mol per liter per atmosphere and p is in atmospheres. Missing fields, non-finite numbers, negative partial pressure, and zero or negative Henry constant all fail with invalid_input and are not charged after the engine rejects the request.
API usage, pricing, lab workflows, and practical limits
Call the free in-browser Henry's law gas solubility calculator for homework checks, lecture demos, and quick dissolved-gas estimates without installing a full property package. Temperature dependence of k_H is outside this calculator: supply a constant already corrected to your process temperature if the application demands it. Authors shipping SDKs can map concentration directly into dashboards that show dissolved oxygen, CO2, or other gases next to the measured headspace pressure. Send a JSON body with required partial_pressure and henry_constant. Use the prepaid API when an environmental monitoring stack, aquarium controller, beverage carbonation tool, or chemistry homework platform needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after rejection. Pair this endpoint with partial-pressure helpers when you first compute the gas mole fraction times total pressure, then feed that p into Henry's law for the liquid-side concentration.