Weak-Acid Equilibrium Calculator
Solve monoprotic weak-acid ICE from formal C and Ka or pKa. Charge and mass balance; optional water at 25 °C. Runs locally. Not Henderson–Hasselbalch and not pH = −log10[H+] identities.
Trust summary Engine tested · Source checked · 12/12 tests · Production surface contract 4/4 · v1.0.0
- Input interpretation
- Enter values to calculate.
- Result
- —
- Model
- Monoprotic weak-acid ICE pH and species from formal C and Ka or pKa.
- Scope
- Monoprotic HA ⇌ H+ + A−
- Verification
- Engine tested · 12/12 tests · Production surface contract 4/4 · Source checked · v1.0.0
- Named expert review
- Optional · Not performed
- Evidence
- 2 golden · 5 boundary · 5 property · Production surface contract 4/4 · Artifact integrity PASS
- Production
- Embedded snapshot: STALE · Last attested schema matched 1.0.0 snapshot / local build · Semantic contract ✓ · Last attestation PASS · current evidence changed · re-attestation required · Public/cache ✓ · Origin ✓ · Live production status PASS (0 stale; 163 CURRENT) @ 2026-09-17T03:09:03.307Z
- Semantic contract
- PASS
Formulas
Core equations used by this calculator.
How to use
Enter formal concentration C
C is the analytical HA concentration in mol/L. It must be greater than zero.
Enter pKa or Ka
Give one acidity encoding. Sending both is rejected.
Choose whether to include water
ICE (default) includes Kw at 25 °C. ICE, no water uses the quadratic approximation.
Read pH and the ICE species
The solver reuses math.numerical.root. Outputs [H+], [HA], [A−], [OH−], and α = [A−]/C.
Example calculations
Common configurations with formula and result.
Acetic acid, water neglected
C=0.1 mol/L, Ka=1.8e-5
From pKa
C=0.1 mol/L, pKa=5
Weak-Acid Equilibrium calculator specification
Version 1.0.0 · Engine tested
- Engine tested 12/12 tests · Production surface contract 4/4
- Named expert review Not performed
- Calculation version 1.0.0
- Definition
- Monoprotic HA ⇌ H+ + A−. With water: [H+]³ + Ka[H+]² − (Kw + Ka C)[H+] − Ka Kw = 0. Without water: Ka = x²/(C−x).
- What it calculates
- Monoprotic weak-acid ICE pH and species from formal C and Ka or pKa.
- Inputs
- mode?
- C | c | concentration
- pKa | Ka
- Outputs
- pH
- h
- HA
- A
- oh
- C
- Ka
- pKa
- fraction_dissociated
- Formula
[H+]³ + Ka[H+]² − (Kw + Ka C)[H+] − Ka Kw = 0 (mode=ice)- Assumptions
- Monoprotic HA ⇌ H+ + A−
- Activity coefficients ≈ 1
- Kw = 1e-14 at 25 °C when mode=ice
- Not Henderson–Hasselbalch
- Not pH = −log10[H+] identities
- Not polyprotic, not a weak base, not titration
- Units
- mol/L
- pH
- pKa
- Boundary conditions
- missing C → MISSING_REQUIRED_INPUT
- C ≤ 0 or Ka ≤ 0 → VALUE_MUST_BE_POSITIVE
- pKa and Ka together → MIXED_INPUT_ENCODING
- hh_ph is not a mode on this page
- Example
- C=0.1 Ka=1.8e-5 mode=ice_no_water → x=(−Ka+√(Ka²+4 Ka C))/2
- Validation cases
3 published on this page · 12/12 tests · Production surface contract 4/4 · View evidence
- C=0.1 Ka=1.8e-5 mode=ice_no_water → h = (−Ka+√(Ka²+4 Ka C))/2
- C=0.1 pKa=5 → pKa=5, model=weak_acid_ice
- Ka=1e-5 → MISSING_REQUIRED_INPUT
- Sources
- OpenStax Chemistry 2e — Weak Acids — Equilibrium of a weak acidSupports: Ka = [H+][A−]/[HA]; ICE from formal C; dilute water may include Kw
- IUPAC Gold Book — acid dissociation constant — acidity constantSupports: Ka is the equilibrium constant for HA ⇌ H+ + A−
- OpenStax Chemistry 2e — Weak Acids — Equilibrium of a weak acid
- Calculation version
- 1.0.0
Background
Interpretation and common distinctions.
Compute monoprotic weak-acid ICE from formal concentration and Ka.
Supported and not supported
Supported — HA ⇌ H+ + A− from C and Ka or pKa; optional Kw at 25 °C · API chemistry.equilibrium.weak_acid
Not supported — Henderson–Hasselbalch, pH=−log10[H+] identities, polyprotic, weak base, activity coefficients, titration
Agent / API notes
Capability id: chemistry.equilibrium.weak_acid · tool id: weak-acid-equilibrium · pin 1.0.0.
{ "mode": "ice", "C": 0.1, "Ka": 1.8e-5 }
Alternate encoding: { "C": 0.1, "pKa": 4.76 }. Modes: ice (default, includes water), ice_no_water. Errors: MISSING_REQUIRED_INPUT, INVALID_NUMBER, VALUE_MUST_BE_POSITIVE, MIXED_INPUT_ENCODING, INVALID_MODE, NO_PHYSICAL_ROOT.
Calculator URL is /calc/chemistry/weak-acid-equilibrium. Buffer pH stays on /calc/chemistry/henderson-hasselbalch. Water-ion identities stay on /calc/chemistry/ph.
Related tools
Other calculators in this family: Henderson–Hasselbalch, pH, Molarity .
Frequently asked questions
Key distinctions behind the calculation.
Is this Henderson–Hasselbalch?
No. Buffer pH from a given [HA]/[A−] pair is /calc/chemistry/henderson-hasselbalch. This page solves ICE from formal C and Ka.
Is this pH = −log10[H+]?
No. That identity is /calc/chemistry/ph. This page finds [H+] from charge and mass balance, then reports pH.
Does this cover polyprotic acids or activity coefficients?
No. Monoprotic HA only. Weak base, polyprotic, activity, and titration are later capabilities.
Where does this run?
Locally in the browser by default. REST and MCP call the same chemistry-engine ICE wrapper, which reuses math.numerical.root.