How to calculate pH for strong and weak acids
Strong acid, strong base and weak acid pH step by step, including the 5% approximation, when it fails, and the exact quadratic answer.
Every pH problem comes down to one number: [H3O+]. Once you have it, pH = -log[H3O+]. The only question is how you get [H3O+], and that depends on whether the acid is strong or weak. A strong acid hands you [H3O+] directly. A weak acid makes you solve an equilibrium first.
All the examples below assume 25 °C, where water's ion product is Kw = [H3O+][OH-] = 1.0 x 10^-14, so pH + pOH = 14.00.
The four conversions
- pH = -log[H3O+]
- pOH = -log[OH-]
- [H3O+] = 10^-pH
- pH + pOH = 14.00 (at 25 °C)
Example: [H3O+] = 1.0 x 10^-3 M. pH = -log(1.0 x 10^-3) = 3.00. pOH = 14.00 - 3.00 = 11.00, so [OH-] = 10^-11.00 = 1.0 x 10^-11 M.
A sig fig rule that trips people up: the number of decimal places in a pH equals the number of significant figures in the concentration. 1.0 x 10^-3 has two sig figs, so the pH is reported as 3.00.
Strong acids: [H3O+] equals the concentration
The common strong acids (HCl, HBr, HI, HNO3, HClO4, and the first proton of H2SO4) ionize completely in water. There is no equilibrium to solve.
Example: 0.010 M HCl.
- [H3O+] = 0.010 M
- pH = -log(0.010) = 2.00
- pOH = 14.00 - 2.00 = 12.00
Strong bases: find [OH-] first
Group 1 hydroxides and the heavier Group 2 hydroxides also dissociate completely. Count the OH- per formula unit, find pOH, then subtract from 14.
Example: 0.0050 M NaOH. [OH-] = 0.0050 M, pOH = -log(0.0050) = 2.30, pH = 14.00 - 2.30 = 11.70.
Example: 0.010 M Ba(OH)2. Each formula unit releases two OH-, so [OH-] = 0.020 M, pOH = 1.70, pH = 12.30. Forgetting the 2 gives pH 12.00, a common wrong answer choice.
Weak acids: set up an ICE table
A weak acid only partly ionizes: HA + H2O ⇌ H3O+ + A-, with Ka = [H3O+][A-] / [HA]. Let x be the [H3O+] formed. If the initial acid concentration is C:
| HA | H3O+ | A- | |
|---|---|---|---|
| Initial | C | 0 | 0 |
| Change | -x | +x | +x |
| Equilibrium | C - x | x | x |
So Ka = x^2 / (C - x). If the ICE table itself is new to you, ICE tables for equilibrium, step by step covers the general method.
The 5% approximation
Because a weak acid ionizes so little, x is often tiny next to C, and C - x is close to C. Dropping it gives Ka ≈ x^2 / C, so x ≈ sqrt(Ka x C). You then check the shortcut: if x is less than 5% of C, it holds.
Example: 0.10 M acetic acid, Ka = 1.8 x 10^-5.
- x^2 / 0.10 = 1.8 x 10^-5
- x^2 = 1.8 x 10^-6
- x = 1.34 x 10^-3 M
- Check: 1.34 x 10^-3 / 0.10 = 1.3%, under 5%, so the shortcut is valid
- pH = -log(1.34 x 10^-3) = 2.87
The percent ionization is that same ratio: 1.3%.
The exact answer: the quadratic
When you don't drop x, Ka = x^2 / (C - x) rearranges to x^2 + Ka x - Ka C = 0, and the positive root is:
x = (-Ka + sqrt(Ka^2 + 4 Ka C)) / 2
For the acetic acid example, this gives x = 1.33 x 10^-3 M and pH 2.88. The approximate answer was 2.87. Those differ by 0.01, which is exactly what "the 5% approximation holds" means in practice: the shortcut shifts the last digit at most.
When the shortcut fails
The approximation breaks when Ka is large relative to C. Take the first ionization of 0.10 M phosphoric acid, Ka1 = 7.5 x 10^-3.
- Shortcut: x = sqrt(7.5 x 10^-3 x 0.10) = 0.0274 M, which is 27% of C. Far over 5%, so it is not allowed.
- Quadratic: x^2 + (7.5 x 10^-3)x - 7.5 x 10^-4 = 0, giving x = 0.0239 M
- pH = -log(0.0239) = 1.62
The rejected shortcut would have given pH 1.56. On a multiple-choice exam, both numbers will usually be there. For a polyprotic acid, the first ionization sets the pH. The second (Ka2 = 6.2 x 10^-8 for H3PO4) adds almost nothing to [H3O+].
A second way the shortcut fails is dilution. Percent ionization rises as a weak acid gets more dilute. At 0.0010 M, acetic acid's shortcut gives x/C = 13%, so even a familiar acid needs the quadratic when it is dilute enough.
Weak bases: the same math with Kb
For a weak base B + H2O ⇌ BH+ + OH-, x is [OH-], not [H3O+]. Solve for pOH first, then convert.
Example: 0.050 M NH3, Kb = 1.8 x 10^-5.
- x^2 / 0.050 = 1.8 x 10^-5, so x^2 = 9.0 x 10^-7 and x = 9.5 x 10^-4 M = [OH-]
- Check: 9.5 x 10^-4 / 0.050 = 1.9%, valid
- pOH = -log(9.5 x 10^-4) = 3.02
- pH = 14.00 - 3.02 = 10.98
The classic mistake is reporting 3.02 as the pH. A solution of ammonia is basic, so the answer has to be above 7.
Mistakes to watch for
- Using -log C for a weak acid. 0.10 M acetic acid is not pH 1.00. That answer treats it as a strong acid.
- Skipping the 5% check. The approximation is a hypothesis. Check it every time.
- Forgetting the pOH step for bases. Weak base ICE tables give [OH-].
- Missing the 2 in Ca(OH)2 or Ba(OH)2.
- Very dilute strong acids. 1.0 x 10^-8 M HCl is not pH 8. At that concentration, water's own H3O+ (1.0 x 10^-7 M) is bigger than the acid's, and the true pH is about 6.98.
Check your work
The pH calculator handles all of these cases. In weak acid mode it shows the exact quadratic answer, the shortcut answer and whether the 5% check passes, so you can see where your hand work went wrong. Once pH is solid, buffers are the next step: the Henderson-Hasselbalch equation and buffers. Biology runs on the same scale, since the proton gradient that drives ATP synthase in cellular respiration is a pH difference across a membrane. For a general exam plan, see how to study for a general chemistry exam and the testing effect.
Weak acid and weak base calculations are a full chapter in Encodr's free General Chemistry II deck.
pH Calculator
Convert between [H3O+], [OH-], pH and pOH, or solve a strong or weak acid pH with the working shown.
Try it →Encodr turns this into a habit: study anything in a feed, and it schedules the rest.
Get started free