# IC50 vs Ki vs Kd: what each measures and how to convert them

> IC50 is the inhibitor concentration that halves activity in one assay. Ki and Kd are equilibrium dissociation constants that do not depend on the assay. Learn how the Cheng-Prusoff equation converts IC50 to Ki, when it fails, and why potency is compared as pIC50.

Two labs test the same kinase inhibitor and report IC50 values of 20 nM and 1 µM. Neither made a mistake. The first ran its assay at 10 µM ATP, the second at 1 mM, and because the inhibitor competes with ATP, a hundred times more ATP pushes the IC50 up about fifty-fold. Convert both numbers to an inhibition constant and they agree: Ki is 10 nM in both labs.

That is the difference in one example. IC50 is the inhibitor concentration that halves the activity measured in a particular assay, so it changes with substrate concentration, enzyme concentration and incubation time. Ki is the equilibrium dissociation constant of the enzyme-inhibitor complex, and Kd is the same kind of constant for any complex; neither depends on how the assay was set up. The Cheng-Prusoff equation converts one into the other, and the [IC50 to Ki calculator](/app/ic50-to-ki-calculator) does the conversion for any unit and mechanism.

## IC50, EC50, Ki and Kd compared

All four are concentrations in molar units, and for all four a lower number means a more potent or tighter-binding compound. They differ in what experiment produces them and in whether that experiment's conditions are baked into the number.

  <caption><strong>Table 1. Four potency and affinity measures.</strong> Each is a concentration in mol/L and is often reported as its negative base-10 logarithm, the p-value. Sources: Neubig et al. (2003), Cheng and Prusoff (1973).</caption>
  <thead>
    <tr>
      <th scope="col">Measure</th>
      <th scope="col">What it is</th>
      <th scope="col">Typical experiment</th>
      <th scope="col">Depends on assay conditions</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>IC50</td>
      <td>Inhibitor concentration that reduces a response or activity by half</td>
      <td>Enzyme activity, displacement binding or cell assay across an inhibitor dilution series</td>
      <td>Yes: substrate or tracer concentration, enzyme concentration, time, cell context</td>
    </tr>
    <tr>
      <td>EC50</td>
      <td>Concentration of an agonist or activator that gives half its maximal effect</td>
      <td>Functional or cell response across an agonist dilution series</td>
      <td>Yes: receptor density, signal amplification, readout</td>
    </tr>
    <tr>
      <td>Ki</td>
      <td>Dissociation constant of the enzyme-inhibitor or receptor-inhibitor complex</td>
      <td>Derived from IC50 values or from kinetics at several substrate concentrations</td>
      <td>No, for a given protein, buffer and temperature</td>
    </tr>
    <tr>
      <td>Kd</td>
      <td>Dissociation constant of any complex: [A][B]/[AB] at equilibrium, or k<sub>off</sub>/k<sub>on</sub></td>
      <td>Direct binding: ITC, SPR, saturation binding, fluorescence</td>
      <td>No, for a given protein, buffer and temperature</td>
    </tr>
  </tbody>

EC50 is the activating counterpart of IC50. It describes how much agonist it takes to reach half the maximum response, and like IC50 it reflects the system as well as the molecule: a cell line with more receptors or a more amplified readout gives a lower EC50 for the same agonist.

## What IC50 measures

An IC50 comes from a concentration-response curve. Activity is measured at a series of inhibitor concentrations, plotted against the logarithm of concentration, and fitted with a sigmoid, usually the four-parameter logistic equation. The IC50 is the midpoint of that fit, and the fitted slope, the Hill coefficient, should be close to 1 for an inhibitor that binds one site on one protein.

The curve answers a practical question: how much compound does this assay need to lose half its signal? Everything else in the assay feeds into the answer. More substrate competes harder with a competitive inhibitor. More enzyme soaks up more inhibitor. A longer preincubation lets a slow-binding or covalent inhibitor look more potent. In cells, membrane permeability, protein binding and the cell's own substrate concentrations all add their effect.

So an IC50 is a property of a compound in an assay. Two IC50 values can be compared directly only when they were measured in the same assay, which is why medicinal chemistry teams rank a series in one standard assay and why IC50 values pulled from different papers disagree.

## Ki and Kd are equilibrium constants

Kd is the concentration of free ligand at which half the protein is bound. For a simple complex of protein P and ligand L, it is the ratio of free to bound concentrations at equilibrium, and kinetically it is the dissociation rate constant divided by the association rate constant:

$$
K_d = \frac{[\text{P}][\text{L}]}{[\text{PL}]} = \frac{k_\text{off}}{k_\text{on}}
$$

Ki is the same quantity for an inhibitor bound to an enzyme or receptor. Calling it Ki says how it was measured, through inhibition of activity or of tracer binding, not that it is a different kind of constant.

For one-site reversible binding, a Ki and a Kd measured for the same complex under the same conditions are the same number. In practice they often differ by a few-fold, because the Ki route goes through a Km or tracer Kd that carries its own error, and because buffers, temperatures and protein constructs differ between labs.

Because Kd is an equilibrium constant, it maps onto a [binding free energy](/guides/mm-pbsa-vs-mm-gbsa), $\Delta G = RT \ln K_d$. At 25 °C each tenfold change in Kd is 1.36 kcal/mol, and a 10 nM binder has ΔG of about −10.9 kcal/mol. That conversion is what docking scores borrow when they are quoted in kcal/mol; the [Vina score](/guides/vina-score) guide shows how far that resemblance goes.

## Why IC50 depends on substrate concentration

A competitive inhibitor and the substrate bind the same site on the free enzyme. Raising the substrate concentration shifts that competition toward the substrate, so more inhibitor is needed to reach the same 50% inhibition. Yung-Chi Cheng and William Prusoff worked out the exact relationship for each classic mechanism of a single-substrate enzyme in 1973:

$$
\begin{aligned}
\text{competitive:} \quad & K_i = \frac{IC_{50}}{1 + [S]/K_m} \\[4pt]
\text{noncompetitive:} \quad & K_i = IC_{50} \\[4pt]
\text{uncompetitive:} \quad & K_i = \frac{IC_{50}}{1 + K_m/[S]}
\end{aligned}
$$

The competitive form is the one usually meant by the Cheng-Prusoff equation. At $[S] = K_m$, Ki is exactly half the IC50. At $[S] = 10\,K_m$, the IC50 is 11 times Ki. A pure noncompetitive inhibitor binds the free enzyme and the enzyme-substrate complex equally well, so its IC50 equals Ki whatever the substrate level. An uncompetitive inhibitor binds only the enzyme-substrate complex and does the opposite of a competitive one: it looks more potent as substrate rises.

The same algebra applies to a radioligand displacement assay, with the radioligand concentration in place of [S] and its Kd in place of Km. A competitor with an IC50 of 45 nM against 2 nM of a radioligand whose Kd is 0.5 nM has a Ki of $\frac{45}{1 + 2/0.5} = 9$ nM.

## Worked example: one inhibitor, four IC50 values

Take a hypothetical ATP-competitive kinase inhibitor with a true Ki of 10 nM, and a kinase whose Km for ATP is 10 µM. Biochemical kinase assays are often run near the ATP Km, but cells contain far more ATP: across about 600 published measurements, mostly from mammalian cells, Traut found an average of 3,152 µM. That gap is a large part of why kinase inhibitors usually lose potency between enzyme and cell assays.

  <caption><strong>Table 2. IC50 of one competitive inhibitor at four ATP concentrations.</strong> We calculated each IC50 as Ki × (1 + [ATP]/Km) for Ki = 10 nM and Km = 10 µM. 3.15 mM is the average cellular ATP concentration reported by Traut (1994).</caption>
  <thead>
    <tr>
      <th scope="col">ATP in the assay</th>
      <th scope="col">[S]/Km</th>
      <th scope="col">IC50 / Ki</th>
      <th scope="col">IC50</th>
      <th scope="col">pIC50</th>
      <th scope="col">pKi</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>10 µM</td>
      <td>1</td>
      <td>2</td>
      <td>20 nM</td>
      <td>7.70</td>
      <td>8.00</td>
    </tr>
    <tr>
      <td>100 µM</td>
      <td>10</td>
      <td>11</td>
      <td>110 nM</td>
      <td>6.96</td>
      <td>8.00</td>
    </tr>
    <tr>
      <td>1 mM</td>
      <td>100</td>
      <td>101</td>
      <td>1.01 µM</td>
      <td>6.00</td>
      <td>8.00</td>
    </tr>
    <tr>
      <td>3.15 mM</td>
      <td>315</td>
      <td>316</td>
      <td>3.16 µM</td>
      <td>5.50</td>
      <td>8.00</td>
    </tr>
  </tbody>

The IC50 spans more than two orders of magnitude while the compound stays the same. Going the other way, from the 1 mM assay back to Ki, is one line:

$$
K_i = \frac{1.01\ \mu\text{M}}{1 + 1000\ \mu\text{M} / 10\ \mu\text{M}} = \frac{1.01\ \mu\text{M}}{101} = 10\ \text{nM}
$$

The table also shows why a Ki recovered from a high-substrate assay is fragile. At $[S] = 100\,K_m$, the IC50 is divided by 101, so a Km that is off by a factor of two moves Ki by almost the same factor. Running the assay with substrate near Km keeps the correction small, and it also keeps the assay sensitive to inhibitors of every mechanism.

## When the Cheng-Prusoff equation fails

The equation assumes reversible binding at equilibrium, Michaelis-Menten kinetics, one binding site with a Hill slope near 1, and free inhibitor equal to added inhibitor. Each assumption breaks in a recognizable way.

### Tight-binding inhibitors

When an inhibitor is potent enough that its IC50 approaches the enzyme concentration, a large share of the inhibitor is bound to enzyme and the free concentration is lower than the amount added. The IC50 then cannot fall below half the enzyme concentration, however potent the compound. John Morrison derived the full equation for this regime in 1969, and at 50% activity it gives a simple correction:

$$
IC_{50} = K_i\left(1 + \frac{[S]}{K_m}\right) + \frac{[E]}{2}
$$

With 10 nM enzyme, $[S] = K_m$ and a true Ki of 0.1 nM, the measured IC50 is $0.1 \times 2 + 10/2 = 5.2$ nM. Plain Cheng-Prusoff turns that into a Ki of 2.6 nM, 26 times too weak. Subtracting $[E]/2$ first recovers 0.1 nM, but only just: a measured IC50 of 5.6 nM instead of 5.2 nM gives 0.3 nM. The correction is only trustworthy when the IC50 is well above $[E]/2$. Closer to that floor, the better fix is to lower the enzyme concentration or fit the Morrison equation to the whole curve.

### Mixed, slow-binding and covalent inhibitors

Mixed inhibitors bind the free enzyme and the enzyme-substrate complex with different constants. One IC50 cannot separate the two, so inhibition has to be measured at several substrate concentrations and fitted to the mixed model. Slow-binding and covalent inhibitors have IC50 values that fall with preincubation time; for covalent inhibitors the meaningful numbers are the initial binding constant and the inactivation rate, not a single Ki.

### Functional and cell assays

In a functional assay, an antagonist's IC50 depends on the agonist concentration and on how strongly the system amplifies the agonist's signal. Applying the binding form of Cheng-Prusoff there can give badly wrong affinities, and Paul Leff and Iain Dougall derived a corrected form that accounts for the agonist's concentration-response slope.

Schild analysis remains the standard for antagonist affinity from functional data. Cell IC50 values add permeability, efflux, protein binding and intracellular substrate, none of which the equation knows about.

## Why potency is compared as pIC50

pIC50 is the negative base-10 logarithm of the IC50 in moles per liter. An IC50 of 100 nM is $10^{-7}$ M, a pIC50 of 7; 1 µM is 6 and 10 nM is 8. Higher is more potent, and pKi and pKd follow the same convention.

The log scale matches how potency behaves. Assay error is multiplicative: a replicate that comes out at 250 nM instead of 100 nM is as far off as one at 40 nM, a factor of 2.5 in each direction. Averaging concentrations ignores that. For triplicate IC50 values of 40, 100 and 250 nM, the arithmetic mean is 130 nM, pulled up by the weakest replicate. The pIC50 values are 7.40, 7.00 and 6.60, which average to 7.00, or 100 nM, the geometric mean. Averages, standard deviations and t-tests on potency should be done on pIC50.

Log units also make SAR readable. A methyl group that improves pIC50 by 1 made the compound ten times more potent, whatever the starting point, and that difference is worth about 1.36 kcal/mol of binding free energy at 25 °C when the IC50 tracks Ki.

Differences smaller than the assay's noise mean nothing. Kalliokoski and colleagues found that independent public IC50 measurements of the same compound on the same target scatter with a standard deviation of 0.68 log units, a factor of 4.8, while repeat measurements of two reference compounds in Novartis assays had standard deviations of only 0.17 and 0.22 log units.

The same study measured how IC50 and Ki compare in practice. Across 11,556 pairs of measurements in ChEMBL, pKi was on average 0.35 log units higher than pIC50, a factor of 2.3, close to the factor of 2 expected for competitive inhibitors assayed at [S] equal to Km. When assay conditions are unknown, the authors suggest a factor of 2 as the best conversion. They also found that the most common error in public IC50 data was a wrong unit, which shifts a value by exactly 3, 6 or 9 log units.

## Boltz-2 affinity is a log IC50

[Boltz-2](/app/boltz-2) predicts a protein-ligand structure and, optionally, an affinity value. Its `affinity_pred_value` is $\log_{10}$ of an IC50 in µM, so lower values mean stronger predicted binding. Converting it to the usual scale is a subtraction:

$$
\text{pIC50} = 6 - \text{affinity\_pred\_value}
$$

A prediction of −1 is an IC50 of 0.1 µM, a pIC50 of 7. A value of 0 is 1 µM, and 2 is 100 µM. The Boltz documentation also gives $(6 - \text{value}) \times 1.364$ to put the prediction on a kcal/mol scale on which higher means tighter binding.

The prediction is not a measured IC50. Boltz-2 was trained on affinity measurements of several kinds, including IC50, Ki and Kd, combined on one log scale, so its output behaves like a potency estimate for ordering related compounds rather than a value for a particular assay.

The Boltz authors recommend it for comparing active molecules during hit-to-lead and lead optimization, and recommend the separate `affinity_probability_binary` output for telling binders from decoys. Comparing a predicted pIC50 with a measured pKi carries the same factor-of-2 offset discussed above, on top of the model's own error.

## IC50 and Ki tools on ProteinIQ

The [IC50 to Ki calculator](/app/ic50-to-ki-calculator) converts IC50 to pIC50 and back in pM to M units, and applies Cheng-Prusoff for competitive, noncompetitive and uncompetitive inhibitors or radioligand displacement. It shows the equation with your values substituted, and an optional correction subtracts half the enzyme concentration for tight-binding inhibitors.

For predicted rather than measured affinity, [Boltz-2](/app/boltz-2) reports the log IC50 described above alongside the predicted complex, and [LMI4Boltz](/app/lmi4boltz) runs the same affinity prediction for complexes too large for standard Boltz-2 memory limits. [AutoDock Vina](/app/autodock-vina) scores docked poses in kcal/mol, which is a docking score rather than an affinity, and [Lipinski's rule of 5](/app/lipinskis-rule-of-5) checks the oral drug-likeness of the compounds behind the numbers.

## Frequently asked questions

### Is a lower IC50 better?

A lower IC50 means a more potent compound in that assay: less of it is needed to halve the activity. A higher pIC50 means the same thing. Whether it is better overall depends on selectivity, cell activity and drug-like properties, not on potency alone.

### Is Ki the same as Kd?

Both are equilibrium dissociation constants. Ki is the name used when the constant is obtained from inhibition, and Kd when binding is measured directly. For simple reversible binding to one site, they describe the same complex and should agree within experimental error.

### Can I convert IC50 to Kd?

Only through Ki, and only when you know the mechanism and the assay's substrate or tracer concentration and Km or Kd. For a competitive inhibitor, $K_i = \frac{IC_{50}}{1 + [S]/K_m}$, and that Ki is the inhibitor's Kd for the target. Without the assay details, dividing the IC50 by 2 is the usual rough estimate.

### What is the difference between IC50 and EC50?

IC50 is the concentration of an inhibitor that reduces a response by half. EC50 is the concentration of an agonist or activator that produces half of its own maximal response. Both depend on the assay system.

### How do I convert pIC50 to IC50?

Raise 10 to the negative pIC50 to get the IC50 in molar: a pIC50 of 7.3 is $10^{-7.3}$ M, or 50 nM. The [IC50 to Ki calculator](/app/ic50-to-ki-calculator) does the conversion in both directions.

### Why is my calculated Ki much lower than the IC50?

For a competitive inhibitor the IC50 is inflated by the factor 1 + [S]/Km. An assay run at high substrate, such as a kinase assay at 1 mM ATP, can have an IC50 one hundred times the Ki. Check the Km you used, because at high [S]/Km any error in Km passes almost directly into Ki.
