Henderson–Hasselbalch Calculator
Compute buffer pH = pKa + log10([A−]/[HA]). Accepts pKa or Ka. Runs locally. Not ICE equilibrium and not pH = −log10[H+].
Trust summary Engine tested · Source checked · 11/11 tests · Production surface contract 4/4 · v1.0.0
- Input interpretation
- Enter values to calculate.
- Result
- —
- Model
- Buffer pH from Henderson–Hasselbalch. pKa may be given directly or as Ka.
- Scope
- Monoprotic buffer; HA and A− are the pair as given
- Verification
- Engine tested · 11/11 tests · Production surface contract 4/4 · Source checked · v1.0.0
- Named expert review
- Optional · Not performed
- Evidence
- 1 golden · 5 boundary · 5 property · Production surface contract 4/4 · Artifact integrity PASS
- Production
- Embedded snapshot: unpublished · Build schema 1.0.0 ready · Semantic contract ✓ · Attestation report not published on origin · Live production status PASS (0 stale; 164 CURRENT) @ 2026-09-16T06:44:24.909Z
- Semantic contract
- PASS
Formulas
Core equations used by this calculator.
How to use
Enter pKa or Ka
Give one acidity encoding. Sending both is rejected.
Enter the buffer pair
[HA] and [A−] must both be greater than zero. Units cancel in the ratio.
Read pH
pH = pKa + log10([A−]/[HA]). Equal concentrations give pH = pKa.
Example calculations
Common configurations with formula and result.
Equal concentrations
pKa=5, [HA]=0.1, [A−]=0.1
Two-to-one conjugate base
pKa=5, [HA]=0.1, [A−]=0.2
Henderson–Hasselbalch calculator specification
Version 1.0.0 · Engine tested
- Engine tested 11/11 tests · Production surface contract 4/4
- Named expert review Not performed
- Calculation version 1.0.0
- Definition
- Henderson–Hasselbalch: pH = pKa + log10([A−]/[HA]). pKa = −log10(Ka). Monoprotic buffer pair as given.
- What it calculates
- Buffer pH from Henderson–Hasselbalch. pKa may be given directly or as Ka.
- Inputs
- pKa | Ka
- HA
- A
- Outputs
- pH
- pKa
- Ka
- HA
- A
- ratio
- Formula
pH = pKa + log10([A−]/[HA])- Assumptions
- Monoprotic buffer; HA and A− are the pair as given
- Activity coefficients ≈ 1
- Not ICE equilibrium
- Not pH = −log10[H+]
- Not polyprotic
- Units
- lab; HA and A as the same concentration unit
- Boundary conditions
- missing pKa and missing Ka → MISSING_REQUIRED_INPUT
- pKa and Ka together → MIXED_INPUT_ENCODING
- HA ≤ 0 or A ≤ 0 → VALUE_MUST_BE_POSITIVE
- Ka ≤ 0 → VALUE_MUST_BE_POSITIVE
- Example
- pKa=5 HA=0.1 A=0.2 → pH=5+log10(2)
- Validation cases
3 published on this page · 11/11 tests · Production surface contract 4/4 · View evidence
- pKa=5 HA=0.1 A=0.1 → pH=5
- pKa=5 HA=0.1 A=0.2 → pH=5+log10(2)
- HA=0.1 A=0.1 → MISSING_REQUIRED_INPUT
- Sources
- OpenStax Chemistry 2e — Acid-Base Buffers — Henderson–Hasselbalch equationSupports: pH = pKa + log10([base]/[acid]) for a conjugate pair
- IUPAC Gold Book — buffer solution — conjugate acid–base pairSupports: A buffer is a conjugate acid–base pair whose ratio sets pH
- OpenStax Chemistry 2e — Acid-Base Buffers — Henderson–Hasselbalch equation
- Calculation version
- 1.0.0
Background
Interpretation and common distinctions.
Compute buffer pH from Henderson–Hasselbalch.
Supported and not supported
Supported — pH from pKa (or Ka) and [HA], [A−] · API chemistry.acid_base.henderson_hasselbalch
Not supported — ICE tables, activity coefficients, polyprotic, titration curves; pH from [H+] is /calc/chemistry/ph
Agent / API notes
Capability id: chemistry.acid_base.henderson_hasselbalch · tool id: henderson-hasselbalch · pin 1.0.0.
{ "pKa": 5, "HA": 0.1, "A": 0.2 }
Alternate encoding: { "Ka": 1e-5, "HA": 0.1, "A": 0.2 }. Errors: MISSING_REQUIRED_INPUT, INVALID_NUMBER, VALUE_MUST_BE_POSITIVE, MIXED_INPUT_ENCODING.
Calculator URL is /calc/chemistry/henderson-hasselbalch. Converters stay on /convert/chemistry.
Frequently asked questions
Key distinctions behind the calculation.
Is this pH = −log10[H+]?
No. That identity is /calc/chemistry/ph. This page is the buffer approximation from pKa and the HA / A− pair.
Does this solve an ICE table?
No. Henderson–Hasselbalch takes the pair as given. Weak-acid ICE and polyprotic systems are out of scope.
Can I enter Ka instead of pKa?
Yes on the web form, REST, and MCP. Do not send pKa and Ka together.
Where does this run?
Locally in the browser by default. REST and MCP call the same chemistry-engine Henderson–Hasselbalch wrapper.