Home › Chemistry › Weak Acid pH Calculator
Weak Acid pH Calculator
Computes pH, pOH, [H⁺], [OH⁻] and percent ionization of a monoprotic weak acid or monobasic weak base from its dissociation constant (Ka/pKa or Kb/pKb) and nominal concentration by solving the equilibrium quadratic exactly, and compares the result with the √(K·C) approximation.
When to use
You know the Ka (pKa) of a weak acid such as acetic acid, or the Kb (pKb) of a weak base such as ammonia, and its concentration, and need the pH or the degree of ionization of the solution.
Do not use when: The acid or base is strong and fully dissociated (use ph), the solution also contains the conjugate salt (a buffer: use henderson-hasselbalch), or the acid is polyprotic with a second dissociation that matters (H2SO4, H3PO4 at low concentration).
Formula
Acid: [H⁺] = (−Ka + √(Ka² + 4·Ka·C)) / 2, pH = −log10[H⁺], pOH = 14 − pH. Base: [OH⁻] = (−Kb + √(Kb² + 4·Kb·C)) / 2, pOH = −log10[OH⁻], pH = 14 − pOH. percent_ionization = 100 × [H⁺]/C (or [OH⁻]/C); approximate: [H⁺] ≈ √(Ka·C); Ka = 10^(−pKa); pKa + pKb = 14
Exact solution of K = x² / (C − x) for a single dissociation step, evaluated in the equivalent form 2·K·C / (K + √(K² + 4·K·C)) to avoid rounding loss. Assumes 25 °C (Kw = 1.0×10⁻¹⁴), unit activity coefficients and neglects the H⁺ from water, which only matters when the result is within about a factor of 10 of 10⁻⁷ mol/L.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
species | enum: weak_acid | weak_base | default weak_acid | Whether the solute is a weak acid (Ka) or a weak base (Kb). | |
ka | number | no | Acid dissociation constant (acetic acid 1.8×10⁻⁵, HF 6.3×10⁻⁴, HCN 6.2×10⁻¹⁰). Alternative to pka; for a weak base it is read as the Ka of the conjugate acid. Range: > 0, ≤ 10000000000 | |
pka | number | no | −log10 Ka (acetic acid 4.76, NH4⁺ 9.25). Alternative to ka. Range: ≥ -10, ≤ 25 | |
kb | number | no | Base dissociation constant (ammonia 1.8×10⁻⁵, methylamine 4.4×10⁻⁴). Alternative to pkb; for a weak acid it is read as the Kb of the conjugate base. Range: > 0, ≤ 10000000000 | |
pkb | number | no | −log10 Kb (ammonia 4.75). Alternative to kb. Range: ≥ -10, ≤ 25 | |
concentration_mol_l | number | mol/L | yes | Analytical (formal) concentration of the acid or base before dissociation. Range: > 0, ≤ 100 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
ph | number | −log10[H⁺]. | |
poh | number | −log10[OH⁻] = 14 − pH at 25 °C. | |
h_concentration_mol_l | number | mol/L | Hydrogen-ion concentration at equilibrium. |
h_concentration_text | string | [H⁺] in scientific notation, mol/L. | |
oh_concentration_mol_l | number | mol/L | Hydroxide-ion concentration at equilibrium (Kw / [H⁺]). |
oh_concentration_text | string | [OH⁻] in scientific notation, mol/L. | |
percent_ionization | number | % | 100 × dissociated fraction: [H⁺]/C for an acid, [OH⁻]/C for a base. |
approximate_ph | number | pH obtained by assuming the dissociated amount is negligible against C ([H⁺] ≈ √(Ka·C), or [OH⁻] ≈ √(Kb·C)). | |
approximation_valid | boolean | true when C / K > 100 and ionization is below 5 %, the usual textbook criterion for using √(K·C). | |
dissociation_constant_used | number | Ka (acid) or Kb (base) used in the quadratic. | |
pka_used | number | pKa of the acid, or of the conjugate acid when a weak base is entered (pKa = 14 − pKb). | |
pkb_used | number | pKb of the base, or of the conjugate base when a weak acid is entered (pKb = 14 − pKa). |
Example
0.10 M acetic acid, Ka 1.8×10⁻⁵: {"species":"weak_acid","ka":0.000018,"concentration_mol_l":0.1} → {"ph":2.875,"poh":11.125,"h_concentration_mol_l":0.0013327,"h_concentration_text":"1.333e-3","percent_ionization":1.33,"approximate_ph":2.872,"approximation_valid":true,"pka_used":4.745}
0.10 M ammonia, Kb 1.8×10⁻⁵: {"species":"weak_base","kb":0.000018,"concentration_mol_l":0.1} → {"poh":2.875,"ph":11.125,"oh_concentration_mol_l":0.0013327,"percent_ionization":1.33,"approximate_ph":11.128,"approximation_valid":true,"pkb_used":4.745,"pka_used":9.255}
GET https://tttkmbb.com/api/v1/calculate/weak-acid-ph?species=weak_acid&ka=0.000018&concentration_mol_l=0.1
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/weak-acid-ph(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/weak-acid-ph · Markdown: https://tttkmbb.com/chemistry/weak-acid-ph.md · JSON definition: https://tttkmbb.com/chemistry/weak-acid-ph.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="weak-acid-ph" - OpenAPI operationId:
calculate_weak_acid_ph - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Acid dissociation constant (reference)
- OpenStax Chemistry 2e – 14.3 Relative Strengths of Acids and Bases (textbook)
- Wikipedia – pH (reference)
FAQ
When is the √(Ka·C) shortcut good enough?
When C/Ka exceeds about 100 (equivalently ionization under 5 %) the error is below 0.02 pH units; for dilute or relatively strong weak acids (HF, HNO2, chloroacetic acid) the exact quadratic reported here differs noticeably.
I only have the pKa of the conjugate acid of my base.
Enter species=weak_base with that pka: the calculator converts with Kb = Kw / Ka (pKb = 14 − pKa), e.g. NH4⁺ pKa 9.25 gives Kb 1.8×10⁻⁵ for ammonia.
Why is the pH of a very dilute weak acid not what this gives?
Below about 10⁻⁶ mol/L of H⁺ the autoionisation of water contributes comparably and the true pH approaches 7 from below; the calculator flags this case in a note but does not solve the full charge-balance cubic.
Related calculators
- pH Calculator — pH of strong acids and bases from their concentration.
- Henderson–Hasselbalch Calculator — pH when the conjugate base or acid is also present (buffer).
- Titration Calculator — Titrant volume to neutralise this acid or base.