Vapor pressure calculator
With water's Antoine constants, 100 °C gives about 760 mmHg, the normal boiling point, and 25 °C about 23.8 mmHg. Enter A, B, C and a temperature in the unit the constants were fitted for to get a pure liquid's vapor pressure in mmHg. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- A
- 8.07131
- B
- 1,730.63
- C
- 233.426
- Creativity
- 100
- Log10 p
- 2.8808629443
- Vapor pressure
- 760.0863691649
- Unit pressure
- mmHg
The Antoine equation is the workhorse correlation chemists and chemical engineers use to estimate the vapor pressure of a pure liquid from three tabulated constants and a temperature. In the common base-ten form used with millimetre-of-mercury tables, the logarithm of the vapor pressure equals A minus B divided by T plus C, so the pressure in mmHg is ten raised to that exponent. This vapor pressure calculator accepts the three Antoine constants A, B, and C together with the temperature in the unit those constants were fitted for—typically degrees Celsius—and returns the vapor pressure in mmHg.
How the Antoine equation gives vapor pressure in mmHg
The Antoine equation is an empirical three-constant correlation that estimates the saturation vapor pressure of a pure liquid from temperature. In the common base-ten form published with millimetre-of-mercury tables, the decimal logarithm of pressure P equals A minus B divided by the sum of temperature T and constant C. Solving for pressure gives P equal to ten raised to that exponent, which this calculator returns in mmHg.
Constants A, B, and C belong to one substance over one fitted temperature interval; a water set valid from one to one hundred degrees Celsius is not valid for ice, steam above the fit, or another liquid. Temperature T must use the same unit the constants were fitted in—typically degrees Celsius for mmHg compilations—and this calculator does not convert Celsius to kelvin or Fahrenheit for you.
The correlation is a local fit of the Clausius–Clapeyron slope, not a first-principles integration of enthalpy versus temperature, so it assumes the constants remain valid at the requested T. When T plus C is zero the denominator vanishes and the exponent is undefined, so that pair is rejected instead of returning Infinity. A successful result is always a finite pressure in millimetres of mercury.
This landing is not Raoult's law for mixtures, not vapor-pressure lowering of a solution, and not a two-point Clausius–Clapeyron solve for a second temperature; those are separate search intents with their own calculators.
Where an Antoine vapor pressure calculator is used
General chemistry and physical chemistry courses assign vapor-pressure tables and boiling-point estimates that start from published Antoine constants; a deterministic oracle lets students check a hand calculation without scraping a spreadsheet. Laboratory courses that measure vapor pressure with a manometer or isoteniscope compare experimental millimetres of mercury against the correlation at the bath temperature, so the same closed form belongs in the pre-lab and the report.
Process and formulation engineers use Antoine as a first-pass saturation pressure for water, alcohols, and solvents when sizing condensers, vacuum dryers, or emission estimates before opening a full property package. Environmental and occupational-hygiene workflows convert a tabulated constant set into a vapor pressure at ambient temperature as a screening number for volatile organics. If you later need mixture vapor pressure from mole fraction, relative lowering, Clausius–Clapeyron second temperature, or vapor-pressure deficit from humidity, use those dedicated calculators rather than stretching this Antoine landing.
Keep requests small, pin the rounded millimetre-of-mercury result in tests, and you get reproducible saturation pressures for homework, LMS plugins, and edge workers without standing up a thermodynamics package of your own.
What you can do with it
Homework and exam vapor-pressure checks
Compute P in mmHg from published Antoine A, B, C and a stated temperature so students and auto-graders share one closed-form ground truth.
Lab manometer and isoteniscope reports
Predict saturation vapor pressure at the bath temperature from the same constant set the report cites, then compare with measured millimetres of mercury.
Process first-pass saturation pressure
Estimate water, alcohol, or solvent vapor pressure for condenser, vacuum-dryer, or emission screening before opening a full property package.
FAQ
How does the vapor pressure calculator use the Antoine equation?
Send finite numbers a, b, c (Antoine constants A, B, C) and temperature T.
What units are A, B, C, T, and the result in?
P is always returned in mmHg. T must be in the unit the constants were fitted for, typically degrees Celsius for millimetre-of-mercury tables. A is dimensionless; B and C share T's unit. This calculator does not convert temperature or pressure units.
What happens if a constant or temperature is not a finite number?
Missing fields, empty strings, non-numeric text, NaN, and Infinity are rejected and not billed.
Where do I get Antoine constants A, B, and C?
From a tabulated compilation for your liquid and temperature range (NIST, CRC, or a textbook appendix).
Can I use Antoine constants outside their temperature range?
You should not. Each set of constants belongs to one substance over one fitted interval, so a water set valid from 1 to 100 °C does not apply to ice, to steam above that range or to another liquid.
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/vapor-pressure \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":8.07131,"b":1730.63,"c":233.426,"temperature":100}'const res = await fetch("https://api.kit.forhosting.com/chem/vapor-pressure", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 8.07131,
"b": 1730.63,
"c": 233.426,
"temperature": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/vapor-pressure",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 8.07131,
"b": 1730.63,
"c": 233.426,
"temperature": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/vapor-pressure", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":8.07131,"b":1730.63,"c":233.426,"temperature":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":8.07131,"b":1730.63,"c":233.426,"temperature":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/vapor-pressure", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"a": 8.07131,
"b": 1730.63,
"c": 233.426,
"temperature": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.vapor_pressure",
"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
Any constant or temperature that is not a finite number is rejected as invalid_input rather than producing NaN or Infinity.
How the Antoine equation gives vapor pressure in mmHg
When A, B, C, or temperature is missing, empty, NaN, or infinite, the task fails with invalid_input naming the field.
Input contract, units, and error behaviour
The engine evaluates log base ten of P equal to A minus B over T plus C, then P as ten raised to that exponent. If T plus C is zero, or if the exponent overflows so that P is not finite, the task fails rather than returning Infinity. A classic check is water with A equal to 8.07131, B equal to 1730.63, C equal to 233.426 at one hundred degrees Celsius, which yields about 760 mmHg, the normal boiling point of water. At twenty-five degrees Celsius the same constants give about 23.8 mmHg, the familiar room-temperature vapor pressure of water. The calculator does not look up constants from a compound name, does not convert pressure units, and does not invert the equation for boiling temperature; you supply A, B, C, and T, and you receive P in mmHg. POST a JSON body with four required finite numbers: a, the Antoine constant A; b, the Antoine constant B; c, the Antoine constant C; and temperature, T in the unit of the constants, typically degrees Celsius. Each field may arrive as a JSON number or as a numeric string; aliases A, antoine_a, B, antoine_b, C, antoine_c, t, T, and temp are accepted and map onto the canonical names. Missing fields, empty strings, non-numeric text, NaN, and Infinity fail with invalid_input and are not billed. On success the body echoes the cleaned constants and temperature, returns vapor_pressure as the primary millimetre-of-mercury result, includes log10_p as the intermediate logarithm, and restates the formula so a lab notebook can cite the same expression. Pair the free browser form with homework and the identical API contract with scripts. Successful API calls cost the published $0.002 per item; validation failures do not consume prepaid balance.
Where an Antoine vapor pressure calculator is used
Failed validation does not consume prepaid balance. Successful calls are billed at the published $0.002 base price.
Technical questions
What does the vapor pressure calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.