Equilibrium constant calculations

A reversible reaction sitting at equilibrium hides a fixed number — the equilibrium constant KcK_c — inside its concentrations, but real problems rarely hand you KcK_c on a plate. You are given a starting mixture and a single clue, perhaps how much of one substance is left at equilibrium, or the value of KcK_c itself, and asked to reconstruct everything else. The tool that makes this tractable, every single time, is the ICE table: a three-row bookkeeping grid for Initial concentrations, the Change each species undergoes (scaled by stoichiometry, in terms of one unknown xx), and the resulting Equilibrium concentrations. Once the equilibrium row is written down, it slots directly into the KcK_c expression, turning a wordy chemistry problem into a clean piece of algebra — sometimes linear, sometimes quadratic, occasionally simplified by a small-xx approximation.

The core insight

Build an ICE table (Initial, Change ±x\pm x scaled by stoichiometry, Equilibrium), substitute the Equilibrium row into Kc=[products]/[reactants]K_c = [\text{products}]/[\text{reactants}], and solve either for KcK_c (if concentrations are known) or for xx (if KcK_c is known).

The core idea

The three rows. Every ICE table has the same shape: write the balanced equation across the top, then one row each for Initial concentration, Change (always ±x\pm x times the stoichiometric coefficient — negative for reactants being consumed, positive for products being formed), and Equilibrium (Initial plus Change, algebraically). For a generic reaction aA+bB⇌cC+dDaA + bB \rightleftharpoons cC + dD, the equilibrium concentrations read straight off the bottom row, and those are the only numbers allowed into the KcK_c expression:

Kc=[C]c[D]d[A]a[B]bK_c = \dfrac{[C]^c[D]^d}{[A]^a[B]^b}

where: square brackets denote equilibrium molar concentrations (mol L⁻¹), and the exponents a,b,c,da,b,c,d are the balanced-equation stoichiometric coefficients — not arbitrary powers, and not the coefficients of the initial or change rows, which must first be combined into the equilibrium row before substitution.

Two directions of the same table. Nearly every numerical splits into one of two directions. In a forward calculation you are given KcK_c and the initial concentrations, and you solve the resulting algebraic equation for xx — sometimes a simple linear equation, sometimes a quadratic that needs the quadratic formula or a careful small-xx approximation. In a reverse calculation you are given some or all of the equilibrium concentrations directly (often from experiment — titration, spectroscopy, or a mass-balance measurement) and you substitute straight into the KcK_c expression to compute a number. Both directions use the identical ICE table; only the direction of substitution changes.

Pressures instead of concentrations. When a reaction is entirely gaseous and pressures are the natural measurement, the same logic runs with an ICE table in partial pressures instead of concentrations, feeding into KpK_p instead of KcK_c. The two constants are related by

Kp=Kc(RT)ΔngK_p = K_c(RT)^{\Delta n_g}

where: R=0.0821 L atm mol−1K−1R = 0.0821\ \text{L atm mol}^{-1}\text{K}^{-1} (matching the units of KcK_c and pressures in atm), TT is the absolute temperature in kelvin, and Δng\Delta n_g is the change in moles of gas, (moles of gaseous products) minus (moles of gaseous reactants), counted only from species that are actually gases.

The small-xx shortcut. When KcK_c is very small compared with the initial concentrations, the extent of reaction xx often turns out to be negligible next to [A]0[A]_0, so [A]0−x≈[A]0[A]_0 - x \approx [A]_0 simplifies a quadratic into a one-line calculation. This shortcut is never assumed blindly: after solving for xx under the approximation, you check that xx is genuinely small (a common rule of thumb is under about 5%5\% of [A]0[A]_0); if it fails the check, the exact quadratic must be solved instead. This approximation is used heavily for weak-electrolyte ionisation elsewhere in the equilibrium chapter, but the logic is identical here.

Figure
An ICE table diagram showing rows for Initial Change and Equilibrium concentrations feeding into the equilibrium constant expression
The ICE table feeds directly into K sub c Reaction: A plus 2B is in equilibrium with C A B C Initial a0 b0 0 Change minus x minus 2x plus x Equilibrium row = Initial + Change, only this row goes into K K sub c = [C] / ([A][B] squared)
Derivation ASolving an ICE table for the equilibrium composition

The goal is to show, step by step, how a balanced equation plus a known KcK_c and known initial concentrations turn into a single equilibrium concentration through nothing more than the ICE table and school algebra, so that the same four-step pattern can be reused for any reversible reaction in this chapter.

Step 1. Write the balanced equation and set up the ICE table with one column per species. Fill the Initial row from the problem statement (concentrations at the moment the reactants are mixed, before any reaction occurs), and leave the Change and Equilibrium rows blank for now.

Step 2. Fill the Change row using a single unknown xx, scaled by each species' stoichiometric coefficient, negative for species being consumed and positive for species being formed. A coefficient of 22 in the equation means that species changes by ±2x\pm 2x, never by ±x\pm x; getting this scaling right is the step most calculations go wrong at.

Step 3. Add Initial and Change to get the Equilibrium row for every species, then substitute those equilibrium expressions into the KcK_c expression for the reaction, giving a single algebraic equation in xx (linear if only one species has a nonzero change with a first power, otherwise quadratic or higher).

Step 4. Solve the equation for xx — by direct algebra, by taking a square root when both sides are perfect squares, by the quadratic formula, or by the small-xx approximation if KcK_c justifies it — then substitute xx back into the Equilibrium row to report every equilibrium concentration, and check the answer by re-substituting into the original KcK_c expression. Verified: substituting the solved equilibrium concentrations back into the KcK_c expression reproduces the given value of KcK_c in both worked examples below.

Worked example

Extending the Pass-1 case: finding equilibrium composition, then checking the small-xx shortcut would have failed. For H2(g)+I2(g)⇌2HI(g)\text{H}_2(g) + \text{I}_2(g) \rightleftharpoons 2\text{HI}(g), Kc=64K_c = 64 at a given temperature, and 1.0 mol1.0\ \text{mol} each of H2\text{H}_2 and I2\text{I}_2 are placed in a 1.0 L1.0\ \text{L} vessel. Find [HI][\text{HI}] at equilibrium, and comment on whether the small-xx approximation could have been used.

Step 1. Set up the ICE table (concentrations in mol L−1\text{mol L}^{-1}, since V=1.0 LV = 1.0\ \text{L}):

H2\text{H}_2I2\text{I}_2HI\text{HI}
Initial1.01.01.01.000
Change−x-x−x-x+2x+2x
Equilibrium1.0−x1.0-x1.0−x1.0-x2x2x

Step 2. Substitute the equilibrium row into KcK_c:

Kc=[HI]2[H2][I2]=(2x)2(1.0−x)2=64K_c = \dfrac{[\text{HI}]^2}{[\text{H}_2][\text{I}_2]} = \dfrac{(2x)^2}{(1.0-x)^2} = 64

Step 3. Both sides are perfect squares, so take the square root of both sides (valid since 0<x<10 < x < 1 keeps every term positive): 2x1.0−x=8  ⟹  2x=8−8x  ⟹  10x=8  ⟹  x=0.80\dfrac{2x}{1.0-x} = 8 \implies 2x = 8 - 8x \implies 10x = 8 \implies x = 0.80.

Step 4. Equilibrium concentrations: [H2]=[I2]=1.0−0.80=0.20 M[\text{H}_2] = [\text{I}_2] = 1.0 - 0.80 = 0.20\ M; [HI]=2(0.80)=1.60 M[\text{HI}] = 2(0.80) = 1.60\ M. Check: (1.60)2(0.20)(0.20)=2.560.04=64\dfrac{(1.60)^2}{(0.20)(0.20)} = \dfrac{2.56}{0.04} = 64 ✓. Equilibrium [HI]=1.60 M[\text{HI}] = 1.60\ M.

Step 5 (the shortcut check). Could the small-xx approximation (1.0−x≈1.01.0 - x \approx 1.0) have saved algebra here? No — with Kc=64K_c = 64 being large rather than small, x=0.80x = 0.80 turns out to be 80%80\% of the initial 1.0 M1.0\ M, nowhere near the "under about 5%5\%" threshold that justifies dropping xx. The exact quadratic (here solvable by a square root) had to be used. This is the same reasoning, run in reverse, as the small-xx check flagged in the Pass-1 article: always verify the size of xx before trusting the shortcut, whichever direction the problem runs.

Competitive stretch

If the same vessel were instead 2.0 L2.0\ \text{L} (with the same 1.0 mol1.0\ \text{mol} each of H2\text{H}_2 and I2\text{I}_2), the initial concentrations would each halve to 0.50 M0.50\ M, but KcK_c for this particular reaction has Δng=2−2=0\Delta n_g = 2 - 2 = 0, so scaling every concentration by the same factor leaves the ratio in KcK_c unchanged — the equilibrium mole fractions come out identical, only the volume differs. This is a quick sanity check worth knowing: for a Δng=0\Delta n_g = 0 reaction, diluting does not shift the position of equilibrium at all.

Common traps

  • Substituting initial concentrations into KcK_c instead of equilibrium concentrations. Only the bottom (Equilibrium) row of the ICE table belongs in the KcK_c expression; the Initial row is just the starting point.
  • Getting the stoichiometric scaling of xx wrong. A coefficient of 22 means the change is ±2x\pm 2x, not ±x\pm x; check every species against the balanced equation before writing the Change row.
  • Using the small-xx approximation without checking it afterwards. If xx turns out to be more than about 5%5\% of the initial concentration, the approximation is invalid and the exact (usually quadratic) equation must be solved instead.
  • Confusing KcK_c and KpK_p, or mixing their units. Convert with Kp=Kc(RT)ΔngK_p = K_c(RT)^{\Delta n_g}, keeping RR, TT, and pressure/concentration units consistent, and count Δng\Delta n_g only from gaseous species.

Ask the tutor: Want to try an ICE-table problem with a genuine quadratic (where the square-root shortcut does not work), or check whether the small-xx approximation applies to a specific KcK_c value?

Why do we always use x for the change, and can I use a different letter?

The letter itself does not matter — you could call it yy or α\alpha — what matters is using exactly one unknown for the whole table, scaled consistently by each species' stoichiometric coefficient. Using a single variable keeps the algebra to one equation in one unknown after substitution into KcK_c. If you used a different, unrelated letter for each species, you would end up with more unknowns than equations and the problem would not be solvable from the given information.

What if the problem gives me equilibrium concentrations directly, do I still need an ICE table?

If every equilibrium concentration is already given, you can substitute straight into KcK_c without building the full table — that is the reverse-calculation case. But if only some equilibrium data is given (say, one species' equilibrium concentration, or a percentage reacted), the ICE table is still the fastest way to express the remaining equilibrium concentrations in terms of the known change, since Initial and Change fix the whole Equilibrium row once one value is known.

How do I decide whether to solve the quadratic exactly or use the small x approximation?

Look at KcK_c relative to the initial concentrations first: if KcK_c is very small (reaction barely proceeds forward) or, symmetrically, if you can identify that xx will end up tiny, try the approximation first because it is much faster. But always finish by checking xx against roughly 5%5\% of the initial concentration; if it fails, redo the problem with the exact quadratic formula. When KcK_c is of comparable size to the initial concentrations, as in this article's worked example where Kc=64K_c = 64, don't bother with the approximation at all — solve the exact equation from the start.

Before this

Where this leads