Skip to content

Protein Isoelectric Point (pI) Calculator

The isoelectric point (pI) of a protein is the pH at which its net electrical charge is zero. This calculator derives it from your sequence by summing the charge on every ionizable group with the Henderson–Hasselbalch equation — the α-amino and α-carboxyl termini plus the K, R, H (basic) and D, E, C, Y (acidic) side chains — using the EMBOSS pKa set, then bisecting to the pH where the net charge crosses zero. For the 76-residue protein ubiquitin that gives pI 7.54 with a net charge of +0.23 at pH 7. Below the pI the protein is net positive; above it, net negative. The tool also reports the charge at physiological pH, the ionizable-residue counts and a charge-versus-pH curve.

The isoelectric point is the single number that predicts how a protein behaves in an electric field, on an ion-exchange column, and across a pH gradient. At its pI a protein carries no net charge, so it does not migrate in electrophoresis, binds least to ion exchangers, and is least soluble — the principle behind isoelectric focusing, 2-D gels and many precipitation and purification steps. This page is part of the protein calculator set and, unlike black-box tools, it shows the titration: which groups are counted, what pKa each carries, and the full charge-versus-pH curve, so you can see why the pI lands where it does.

A polypeptide is a polyprotic acid–base system. Its α-amino terminus and the side chains of lysine, arginine and histidine can each hold a proton and become positively charged; its α-carboxyl terminus and the side chains of aspartate, glutamate, cysteine and tyrosine can each lose a proton and become negatively charged. At low pH everything is protonated and the net charge is strongly positive; as pH rises each group deprotonates in turn according to its pKa and the net charge falls, crossing zero at exactly one pH — the pI.

Each group follows the Henderson–Hasselbalch relationship. A basic group is protonated (charge +1) with fraction 1/(1+10^(pH−pKa)); an acidic group is deprotonated (charge −1) with fraction 1/(1+10^(pKa−pH)). Summing these fractional charges over all groups gives the net charge Q(pH), and the pI is the pH where Q = 0. This is the same physics a textbook describes, but solved numerically by bisection rather than by the common shortcut of averaging "the two pKa values that bracket neutrality" — that shortcut only works for a simple amino acid and breaks down for a real protein with many overlapping titrations.

For a single residue with no ionizable side chain the shortcut and the full calculation agree exactly: glycine, with only its α-amino (pKa 8.6) and α-carboxyl (pKa 3.6) groups, has pI = (8.6 + 3.6)/2 = 6.10. For anything larger the curve must be summed. The pKa values matter, and different published sets (EMBOSS, DTASelect, Bjellqvist) give slightly different answers for the same sequence — this tool uses the EMBOSS set and says so on every result. The pI pairs naturally with the molecular weight calculator for characterizing a protein and with the protein concentration calculator once you have purified it.

Protein Isoelectric Point (pI) Calculator

The 20 standard codes plus U and O. The termini and the D, E, C, Y (acidic) and K, R, H (basic) side chains drive the pI. Ambiguous codes B/Z/X/J are rejected.

Isoelectric point7.54071 pH
Net charge at pH 70.225745
Length76 aa
Ionizable residues
GroupCount
Basic — Lys (K)7
Basic — Arg (R)4
Basic — His (H)1
Acidic — Asp (D)5
Acidic — Glu (E)6
Acidic — Cys (C)0
Acidic — Tyr (Y)1
Net charge vs pH
pHCharge
013.00
112.99
212.87
311.80
46.84
52.05
60.88
70.23
8-0.19
9-0.90
10-2.37
11-6.30
12-9.53
13-11.99
14-12.87

How to use the protein isoelectric point calculator

Paste your amino-acid sequence using one-letter codes. Case, spaces, digits and dashes are ignored. Only the ionizable groups affect the result, but enter the full chain so the termini and every titratable side chain are counted.

Resolve ambiguous codes first: B, Z, X and J are rejected because B and Z could be acidic (D/E) or neutral (N/Q), which would change the charge.

Press Calculate. The primary card is the pI. Below it are the net charge at pH 7.0, the counts of basic (K/R/H) and acidic (D/E/C/Y) residues, and a charge-versus-pH curve sampled at every integer pH from 0 to 14.

Read the pH 7 charge to judge behaviour in a normal buffer: a positive value means the protein is basic relative to neutrality and will bind a cation exchanger; a negative value means it is acidic and binds an anion exchanger.

Use the pI to choose a chromatography or focusing strategy, then confirm the purified protein with the protein concentration calculator and, for sizing, the molecular weight calculator.

Protein Isoelectric Point (pI) formula

Basic group charge: +1/(1 + 10^(pH − pKa))
Acidic group charge: −1/(1 + 10^(pKa − pH))
Q(pH) = Σ(basic) + Σ(acidic); pI is the pH where Q(pH) = 0
EMBOSS pKa — termini: α-NH₂ 8.6, α-COOH 3.6
Basic side chains: K 10.8, R 12.5, H 6.5
Acidic side chains: D 3.9, E 4.1, C 8.5, Y 10.1
The chain contributes one α-amino and one α-carboxyl group regardless of length. Net charge is computed at fine pH intervals and bisected to the zero-crossing (200 iterations), so the pI is the exact root of the summed Henderson–Hasselbalch curve, not an average of two pKa values.

Variables and units

SymbolMeaningUnit
pIpH at which the net charge of the protein is zeropH
Q(pH)Net charge summed over all ionizable groups at a given pH—
pKaAcid dissociation constant of each ionizable group (EMBOSS set)pH
K/R/HBasic side chains that carry +1 when protonatedcount
D/E/C/YAcidic side chains that carry −1 when deprotonatedcount
Q at pH 7Net charge at physiological pH — sign predicts exchanger binding—

How protein isoelectric point is calculated

  1. Clean and validate the sequence; reject ambiguous codes that would make the charge uncertain.
  2. Add one α-amino group (pKa 8.6) and one α-carboxyl group (pKa 3.6) for the termini.
  3. Count the basic side chains (K, R, H) and acidic side chains (D, E, C, Y).
  4. At a trial pH, compute each group's fractional charge with Henderson–Hasselbalch and sum them to Q(pH).
  5. Bisect between pH 0 and 14 until Q(pH) = 0; that pH is the pI.
  6. Also report Q at pH 7 and the charge at every integer pH for the curve.

Worked laboratory examples

Example 1 — Glycine, the exact shortcut case

Given: sequence G (a single residue) · ionizable groups: α-NH₂ 8.6 and α-COOH 3.6 only

  1. With no ionizable side chain, net charge crosses zero exactly halfway between the two pKa values.
  2. pI = (8.6 + 3.6) / 2 = 6.10.
  3. The full bisection returns 6.10, confirming the shortcut holds only for this simple case.

Result: pI = 6.10

Example 2 — Ubiquitin, a real 76-residue protein

Given: sequence MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG · basic K 7, R 4, H 1; acidic D 5, E 6, C 0, Y 1

  1. The chain has 12 basic groups (11 side chains + α-NH₂) and 13 acidic groups (12 side chains + α-COOH).
  2. Despite the near-balance, the strong arginines (pKa 12.5) and lysines (10.8) hold positive charge well above neutrality.
  3. Bisection finds Q = 0 at pH 7.54; at pH 7 the net charge is still +0.23.

Result: pI = 7.54 (net charge +0.23 at pH 7) — slightly basic

Example 3 — An acidic versus a basic peptide

Given: acidic DDDDD · basic KKKKK

  1. DDDDD: five aspartates (pKa 3.9) plus the α-carboxyl give a large negative charge above pH 4, so the pI sits low, around 3.
  2. KKKKK: five lysines (pKa 10.8) hold positive charge until well above pH 10, pushing the pI high, around 10.
  3. The calculator orders them acidic < neutral < basic, as expected.

Result: pI(DDDDD) ≈ 3 < pI(GGGGG) ≈ 6 < pI(KKKKK) ≈ 10

Example 4 — Choosing an ion-exchange resin

Given: a protein with pI 7.54 (ubiquitin) · you will bind it at pH 7.0

  1. At pH 7.0 the net charge is +0.23 — the protein is positively charged because pH < pI.
  2. A positively charged protein binds a cation exchanger (e.g. SP/CM).
  3. Elute by raising pH toward and past the pI, or with a salt gradient.

Result: Bind on a cation exchanger at pH 7; the protein is net positive

Want the reasoning behind the numbers? Read How to Calculate Protein Isoelectric Point (pI).

How to interpret the result

The pI is the pH of zero net charge. Compare it to your working pH: if the buffer pH is below the pI the protein is net positive, above it net negative, and at the pI it is neutral and least soluble. That single comparison drives focusing, precipitation and exchanger choice.

The charge at pH 7 tells you the behaviour in a typical physiological buffer without any further arithmetic. A negative value means the protein is acidic and will bind an anion exchanger; a positive value means basic and binds a cation exchanger.

The charge-versus-pH curve shows how sharply the protein titrates. A steep curve near the pI means small pH changes flip the charge — important for buffering and focusing resolution; a shallow curve means the charge is robust over a wider pH range.

When your value differs from another tool, the cause is almost always the pKa set, not the method. Different published sets disagree by a few tenths of a pH unit for the same sequence; this page states it uses EMBOSS so you can reconcile rather than guess.

Assumptions

  • The chain is unfolded and in dilute aqueous solution, so each group titrates independently at its tabulated pKa.
  • The EMBOSS pKa set is used; ionic strength, temperature and local charge environment are not modelled.
  • All cysteines titrate with pKa 8.5 — disulfide-bonded, buried or metal-coordinated cysteines behave differently in reality.
  • No post-translational modifications are present; phosphorylation, acetylation and others would shift the true pI.
  • The termini are a free α-amino and α-carboxyl group (not capped or amidated).

Limitations

  • pI is method-dependent: the EMBOSS set can differ from Bjellqvist or DTASelect by a few tenths for the same sequence.
  • Real pI shifts with salt, temperature, neighbouring charges and 3-D structure, none of which a sequence calculation captures.
  • Phosphorylation and other PTMs are not detected from the sequence and lower the true pI.
  • Cysteine pKa is highly context-dependent, so proteins with many or unusual cysteines are the least reliable.

Common mistakes

  • Averaging two pKa values for a whole protein — that shortcut is valid only for a single amino acid, not a multi-residue chain.
  • Ignoring the termini, which contribute one positive and one negative group to every chain.
  • Assuming a predicted pI equals the experimentally observed focusing position despite PTMs and disulfides.
  • Comparing pI values from two tools without checking they use the same pKa set.
  • Forgetting that cysteine and tyrosine, though weakly acidic, still count toward the net charge.

FAQ

What does the isoelectric point tell me practically?

It is the pH where the protein has no net charge: it will not migrate in an electric field, binds least to ion exchangers, and is least soluble. That is exploited in isoelectric focusing, 2-D electrophoresis, and choosing a pH where a protein either binds or flows through a column.

Is a protein positive or negative at pH 7?

Compare pH 7 to the pI. If the pI is above 7 the protein is net positive at pH 7; if below 7 it is net negative. The calculator reports this charge directly — ubiquitin, with pI 7.54, carries +0.23 at pH 7.

Why does my pI differ from Expasy or another tool?

Different tools use different pKa sets (EMBOSS, Bjellqvist, DTASelect, Rodwell). The same sequence can give pI values differing by a few tenths. This tool uses the EMBOSS set and labels it, so the difference is a stated convention, not an error.

Do cysteines affect the pI?

Yes. A free cysteine thiol has pKa ~8.5 and contributes a negative charge above that pH. But cysteines in disulfide bonds, buried in the core, or bound to a metal do not titrate normally, which is one of the largest sources of error in a sequence-based pI.

How do phosphorylation and other PTMs change the pI?

Each phosphate adds up to two negative charges, so phosphorylation lowers the pI — often enough to resolve phospho-forms on a 2-D gel. Because PTMs are not in the sequence, the predicted pI is for the unmodified protein.

Which ion exchanger should I use?

Work at a pH on the opposite side of the pI from the charge you want to exploit. Below the pI the protein is positive and binds a cation exchanger (SP/CM); above the pI it is negative and binds an anion exchanger (Q/DEAE). Keep the pH at least one unit from the pI for strong binding.

Scientific Sources

External links open in a new tab and carry rel="nofollow". We cite primary references (NIST, NIH/NCBI, peer-reviewed papers) and established manufacturer technical documentation (NEB, Thermo Fisher, Promega, IDT). Calculated results are estimates; your protocol and manufacturer guidance take precedence.

Last reviewed: 2026-09 · Method version: 1.0