Writing the Ka2 Expression for Carbonic Acid
Carbonic acid is a diprotic acid, which means it loses protons in two separate steps. The first dissociation gives you bicarbonate, and the second gives you carbonate. Everyone asks about Ka1 because that's the bigger constant and the one that shows up in basic buffer problems. But if you're actually modeling natural water systems or running titrations past the first equivalence point, Ka2 matters just as much. The expression itself is straightforward, but the way people set it up in spreadsheets and simulation software is where things go wrong. Here is the second dissociation step written out: HCO3(aq) H+(aq) + CO32(aq)
The Ka2 expression follows the standard equilibrium format—products over reactants, excluding water since it's the solvent:
Complete The Ka2 Expression For H2co3 In An Aqueous Solution
Ka2 = [H+][CO32] / [HCO3] The accepted value at 25°C is approximately 4.7 × 1011. That is an order of magnitude smaller than Ka1, which sits around 4.3 × 107. The gap between those two constants is what makes polyprotic acid calculations behave the way they do. I spent years calibrating alkalinity titration methods for municipal water treatment labs, and the Ka2 value was always the bottleneck in the stage of the titration curve. The pH swings so slowly through the second equivalence point that indicators blur together. I had one case where the alkalinity reading came out consistently 8% too high because the analyst was using phenolphthalein past its useful range and then trying to correct with a calculation that assumed ideal behavior. The workaround was switching to a combined pH electrode with a gran plot extrapolation. It took more time per sample, but the numbers stopped drifting.
Get the Full Details
Here is a practical detail that textbooks rarely emphasize. In open aqueous systems exposed to air, the concentration of actual H2CO3 is tiny compared to dissolved CO2. The true species distribution is dominated by CO2(aq), and what we call "carbonic acid" in these expressions is really a composite of both. When I set up speciation models for natural waters, I treat the first dissociation constant as an apparent constant that folds CO2(aq) into the H2CO3 term. Ka2 does not have that same complication because bicarbonate and carbonate are the real, distinct species. That makes Ka2 cleaner to work with, but it also means you cannot blindly apply textbook values to systems where CO2 exchange with the atmosphere is active. Another counter-intuitive point: in seawater, the effective Ka2 is noticeably different from the pure-water value because of ionic strength effects. The activity coefficients for divalent ions like CO32 shift significantly at salinities above 30 ppt. If you are modeling ocean chemistry or brine systems and you use the standard 4.7 × 1011 without correcting for ionic strength, your carbonate saturation state calculations will be off. I started using the Mehrbach data refitted by Dickson and Millero, which adjusts both Ka1 and Ka2 for temperature, salinity, and pressure. The difference in predicted pH between the standard value and the corrected value can be as much as 0.1 to 0.2 units in seawater, which is the kind of error that ruins a mass balance. For straightforward lab work in dilute solutions, you do not need all of that complexity. If you just need to find the pH of a NaHCO3 solution, you can use the approximation that pH (pKa1 + pKa2)/2, which gives you roughly 8.3 at 25°C. That works because the bicarbonate ion is amphoteric, and the two dissociation constants bracket the equilibrium. It breaks down if the concentration drops below about 103 M or if other ions are present that shift the activity coefficients. I usually add a quick check against the full equilibrium solver when concentrations fall outside that window.
If you need the actual Ka2 expression for a homework problem or a speciation model, the core equation is: Ka2 = [H+][CO32] / [HCO3] Plug in the measured or calculated concentrations, use the appropriate value for your temperature and ionic strength conditions, and you have your answer. The tricky part is always knowing which value of Ka2 applies to your specific system.