Langmuir isotherm calculator
See how much of a surface the gas molecules cover: with a Langmuir constant of 2 per atm and a partial pressure of 0.5 atm, the product KP is 1 and the coverage is 0.5, so half the sites are occupied. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Pressure
- 0.5
- Langmuir constant
- 2
- Kp
- 1
- Coverage
- 0.5
- Unoccupied fraction
- 0.5
The Langmuir adsorption isotherm relates how much of a solid surface is occupied by gas or solute molecules at equilibrium to the partial pressure of that adsorbate. In the classic monolayer model, fractional coverage θ equals K times P divided by one plus K times P, where K is the Langmuir adsorption constant and P is partial pressure. This calculator returns that dimensionless coverage from those two numbers, together with the product KP and the unoccupied fraction 1 − θ, so you can see both occupied and vacant site fractions without a second tool. Zero pressure or zero K correctly yields zero coverage.
What the Langmuir isotherm tells you about a surface
The Langmuir adsorption isotherm is the equilibrium relation between the partial pressure of an adsorbate and the fraction of surface sites that species occupies on a solid. Irving Langmuir derived it by balancing the rate of adsorption onto vacant sites against the rate of desorption from occupied sites under the assumptions of a monolayer, equivalent sites, and no lateral interactions between neighbours.
At steady state that balance collapses to θ equals K P divided by one plus K P, where θ is fractional coverage (occupied sites over total sites), P is adsorbate partial pressure, and K is the Langmuir adsorption constant whose reciprocal is the pressure that would give half coverage. Coverage is dimensionless and lies in the closed interval from zero inclusive toward one for any finite non-negative K and P; it approaches one only as the product K P grows without bound.
There is no curve fitting of experimental isotherm data, no BET multilayer correction, no Freundlich power law, and no van’t Hoff conversion of K from enthalpy of adsorption. Non-physical negatives fail rather than wrapping into a coverage outside zero to one.
Where Langmuir fractional coverage shows up in study, lab, and plant work
Surface-chemistry and heterogeneous-catalysis courses assign Langmuir drills that convert a tabulated adsorption constant and a gas partial pressure into site occupancy before students discuss rate laws that already assume a coverage-dependent term. Teachers can pre-generate answer keys for modest parameters without trusting opaque apps that silently mix BET multilayer formulas or leave K in the wrong inverse unit.
Catalysis and materials engineers use the same contract as a quick sanity check before full microkinetic models, confirming that a published K and a process partial pressure produce a plausible monolayer occupancy rather than an accidental θ greater than one from a sign error. Content sites that rank for langmuir isotherm calculator, fractional coverage theta KP over one plus KP, or Langmuir adsorption constant from partial pressure benefit from a live free tool whose arithmetic matches the paid automation path byte-for-byte.
This landing is not a BET surface-area page and not a Henry’s-law solubility page: the search intent is monolayer fractional coverage from P and K. Invalid input is not billed. Keep requests small, pin the rounded coverage field in tests, and you get reproducible Langmuir occupancy for LMS plugins, edge workers, and lab notebooks without standing up a full isotherm fitter.
What you can do with it
Catalysis and surface occupancy screens
Sanity-check monolayer coverage from a published K and a process partial pressure before feeding a microkinetic or rate-law model.
FAQ
What is the Langmuir isotherm formula for fractional coverage?
θ = K·P / (1 + K·P), where θ is the fraction of occupied surface sites, P is adsorbate partial pressure, and K is the Langmuir adsorption constant. Coverage is dimensionless and lies between 0 and 1 for finite non-negative P and K.
What happens if pressure or the Langmuir constant is negative?
Negative partial pressure and a negative Langmuir adsorption constant are non-physical in this monolayer model and are not billed.
Which units should I use for P and K?
Any consistent pair: if pressure is in atm, K is in 1/atm; if pressure is in Pa or bar, K uses the inverse of that same unit. The calculator does not convert pressure units.
What does the Langmuir isotherm calculator cost?
It is free in your browser on this page.
Does this tool fit K from an experimental isotherm, or compute BET surface area?
No. It evaluates a single Langmuir point θ = K·P/(1+K·P). Fitting K from a P–θ series, or applying BET multilayer analysis, is a different search intent.
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/langmuir-isotherm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pressure":0.5,"langmuir_constant":2}'const res = await fetch("https://api.kit.forhosting.com/chem/langmuir-isotherm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pressure": 0.5,
"langmuir_constant": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/langmuir-isotherm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pressure": 0.5,
"langmuir_constant": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/langmuir-isotherm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pressure":0.5,"langmuir_constant":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pressure":0.5,"langmuir_constant":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/langmuir-isotherm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"pressure": 0.5,
"langmuir_constant": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.langmuir_isotherm",
"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
Negative pressure or a negative Langmuir constant is rejected with invalid_input because neither quantity is physical in this model. Successful API calls cost $0.002; validation failures are not billed.
What the Langmuir isotherm means and what the response contains
This calculator evaluates that closed form and returns coverage as the primary result, echoes the cleaned pressure and langmuir_constant, exposes the dimensionless product kp equal to K times P, and reports unoccupied_fraction as one minus coverage, which equals one divided by one plus K P. The method tag is langmuir_isotherm and formula restates θ = K·P / (1 + K·P) so worksheets can cite the same expression.
Input contract, units, aliases, and how negatives are rejected
Units must already match: if P is in atmospheres, K is in inverse atmospheres; if P is in pascals or bar, K uses the inverse of that same pressure unit. The calculator does not convert torr to kilopascal or guess a standard state. POST a JSON body with two required finite numbers: pressure, the non-negative partial pressure of the adsorbate, and langmuir_constant, the non-negative Langmuir adsorption constant K. Pressure aliases include P, p, partial_pressure, and adsorbate_pressure. Langmuir-constant aliases include K, adsorption_constant, langmuir_k, KL, and K_L so spreadsheets and typed forms can reuse the same contract. Fields may arrive as JSON numbers or numeric strings in ordinary decimal or scientific notation. Missing pressure, missing langmuir_constant, non-finite values, magnitudes above the documented ceiling, or a negative pressure or negative Langmuir constant fail with invalid_input naming the problem; those failures are not billed. Zero is allowed and physically useful: P equals zero or K equals zero yields coverage zero and unoccupied_fraction one, the empty-surface limit. A classic textbook check is pressure 0.5 with langmuir_constant 2, which gives kp equal to 1 and coverage exactly one half because K P equals one at the half-coverage pressure P equals 1/K. Another check is large K P, which drives coverage toward one and unoccupied_fraction toward zero without ever exceeding one for finite inputs. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing Langmuir yourself.
Integration use cases
Homework and exam checks
Compute θ = K·P/(1+K·P) from textbook partial pressure and Langmuir constant, including the classic half-coverage case P = 1/K.
Deterministic lab and CI fixtures
Generate reproducible coverage and unoccupied_fraction values for unit tests, grading oracles, and adsorption-lab notebooks.