Find the two ionizable groups whose pKa values bracket where the net charge crosses zero, then average those two pKa values: pI = (pKa₁ + pKa₂) / 2. The hard part isn't the math — it's correctly identifying which two groups bracket the crossing. That's what this guide teaches.
Why "just average the two middle pKa's" gets students in trouble
Most textbooks show one example — usually a simple amino acid with three groups — and the trick "average the two closest pKa's" works fine there. The problem is that rule is really a shortcut for a more general method, and it stops working the moment you have more than three ionizable groups, or a lopsided mix of acidic and basic side chains. Applying it blindly is the single most common way students get pI wrong on exams.
The actual method always works, for two groups or twenty:
- List every ionizable group — the N-terminus, the C-terminus, and every charged side chain — with its pKa and whether it's an acid or a base.
- Sort every group by pKa, low to high. This is the order groups lose a proton as pH rises from 0 to 14.
- Walk up the sorted list and track the running net charge. Start at very low pH (every base is +1, every acid is 0) and subtract 1 each time you pass a group's pKa, tracking the sign as you go.
- Find where the running charge crosses zero, and average the two pKa values on either side of that crossing. That average is the pI.
This works because near its own pKa, a group is roughly half-charged — so directly between two consecutive pKa values, the net charge is at its most stable (flattest) point, and for two groups that's almost exactly zero at the midpoint. This guide uses the same pKa table as the peptide charge calculator: N-terminus 9.0, C-terminus 3.1, Asp 3.9, Glu 4.1, His 6.0, Cys 8.3, Tyr 10.5, Lys 10.5, Arg 12.5.
Example 1: the simplest case — 2 groups (dipeptide Gly-Ala)
No charged side chains, so the only two ionizable groups are the termini.
The net charge sits at zero for the entire stretch between the two pKa values — so the crossing is bracketed by 3.1 and 9.0.
Example 2: adding one basic side chain (Gly-Lys)
Now there are three groups: two bases and one acid.
This time the zero-charge region sits between 9.0 and 10.5 — not between the two lowest pKa's, and not a simple "middle value" pick. You have to actually track the running charge to see this.
Example 3: three basic groups (Lys-Arg)
This is where "average the two middle values" breaks completely — there's no middle when three of four groups are bases.
The crossing is bracketed by Lys (10.5) and Arg (12.5) — the two highest pKa's, not the middle ones.
The bracketing average (11.5) and the exact numeric solution (11.51) are this close because 10.5 and 12.5 are far enough apart that each group is essentially fully charged by the time the next one starts transitioning. When bracketing pKa's are close together, the two numbers can diverge by a few tenths — which is exactly why the calculator solves the exact version rather than the hand-shortcut.
Example 4: a real peptide with 8 groups (Asp-Lys-His-Glu-Tyr-Arg, "DKHEYR")
Eight ionizable groups is exactly where hand-tracking a running sum for every group gets tedious — this is the case the full formula (not just averaging) is actually for.
| Group | pKa | Type | Charge at pH 7.0 |
|---|---|---|---|
| N-terminus | 9.0 | base | +0.99 |
| Asp (D) | 3.9 | acid | −1.00 |
| Lys (K) | 10.5 | base | +1.00 |
| His (H) | 6.0 | base | +0.09 |
| Glu (E) | 4.1 | acid | −1.00 |
| Tyr (Y) | 10.5 | acid | 0.00 |
| Arg (R) | 12.5 | base | +1.00 |
| C-terminus | 3.1 | acid | −1.00 |
| Net charge at pH 7.0 | +0.08 | ||
At this point, tracking a clean step-function bracket stops being practical — several groups (especially His, with a pKa right in the physiological range) are partially charged at the same time. The reliable move here is exactly what the peptide charge calculator does: sum every group's exact Henderson-Hasselbalch charge at a trial pH, and adjust the pH until that sum hits zero.
Common mistakes
Forgetting a terminus. Every peptide has an N-terminus and a C-terminus in addition to any charged side chains — missing one shifts every answer.
Averaging the wrong two pKa's. As Example 3 shows, the correct pair isn't always the two in the middle of the sorted list. Track the running charge; don't guess.
Mixing up acid and base direction. A basic group is positively charged when protonated (low pH) and neutral when deprotonated (high pH). An acidic group is neutral when protonated (low pH) and negative when deprotonated (high pH). Getting this backwards flips your entire bracket.
Using the wrong pKa table. Different textbooks report slightly different side-chain pKa values, which shifts the final answer by a few tenths of a pH unit. Always use whichever table your course specifies.
Practice problems
1. Find the pI of the dipeptide Asp-Asp (Asp-Asp, "DD").
Show answer
2. Find the pI of the dipeptide Lys-Glu ("KE").
Show answer
FAQ
Do I always just average two pKa values to find pI?
Yes — but the skill is picking the right two. You need the pair that brackets where net charge crosses zero, found by tracking the running charge up the sorted pKa list, not just the two pKa's numerically closest to 7.
What if there are more basic groups than acidic groups, or vice versa?
The method doesn't change — sort, track the running charge, average the bracketing pair. An imbalanced group count just shifts where that bracket ends up (see Example 3).
Why is this only an approximation for large proteins?
The bracketing method assumes each group's transition is a clean step, which holds well when the bracketing pKa's are reasonably far apart. In a folded protein, many groups with close-together pKa's interact and shift each other, so the simple average gets less precise — that's when summing every group's exact charge numerically (what the calculator does) matters more.
Related: Peptide charge & pI calculator · Henderson-Hasselbalch buffer calculator · Amino acid titration curve · all biochem tools.