Smarter tools for better science

IC50 and EC50 calculator

Paste your dose–response data and get the IC50 or EC50 with a 95% confidence interval, the Hill slope, top, bottom and pIC50.

Molarity and mass

Work out how much to weigh, what concentration you made, or what volume you need.

mass = concentration × volume × MW
g/mol

Example loaded: NaCl (58.44 g/mol) at 150 mM in 500 mL.

What the IC50 and EC50 are

The IC50 is the concentration of an inhibitor that gives half of its maximum effect. The EC50 is the same idea for something that increases a response, such as an agonist. Both are read from a sigmoidal dose–response curve fitted to your data, and both are measures of potency: the lower the value, the more potent the compound.

The model

y = D + (A − D) ÷ (1 + (x ÷ C)B)

This is the four-parameter logistic (4PL), also called the variable-slope or Hill model. A and D are the plateaus at low and high concentration, so the top and bottom of the curve. C is the midpoint, which is the IC50 or EC50, and B sets how steep the curve is. The Hill slope is shown with GraphPad Prism's sign convention: negative for a falling curve, positive for a rising one. A Hill slope near ±1 is typical of simple one-site binding.

The 5PL model adds an asymmetry term for curves that bend more sharply at one end. Its C parameter is not the IC50, so the calculator works out the true midpoint from the fitted curve. Reporting C instead is a common mistake: on one of our test datasets it would have given 0.34 instead of 0.90, nearly threefold out.

Relative and absolute IC50

Worked example

The example loaded on this page is an inhibitor tested in triplicate at ten 1:3 dilutions from 30 µM, with responses as % activity. A 4PL fit gives an IC50 of 0.4381 µM (95% confidence interval 0.3902 to 0.4918 µM), a pIC50 of 6.36, and an absolute IC50 of 0.4276 µM.

Getting a reliable IC50

Fixing the top or bottom

If your highest or lowest concentrations don't reach a plateau, the fit has to guess where the curve levels off, and the IC50 becomes unreliable. When your controls define that level, you can fix it: with responses as % of control, set the top to 100 and the bottom to 0. The remaining parameters are then fitted, and the confidence intervals and degrees of freedom allow for the fixed values, in the same way as constraints in GraphPad Prism.

Only fix a plateau you have measured independently, such as with vehicle or full-inhibition controls on the same plate. Fixing it to a value the data disagree with pulls the IC50 with it.

How the confidence interval is calculated

The 95% confidence interval is worked out on a log scale, as if log IC50 were fitted directly, which is how GraphPad Prism reports it. That's why the interval is asymmetric around the IC50 and can never go below zero. pIC50 is −log10 of the IC50 in mol/L, and is shown when the concentration unit is molar (M, mM, µM, nM, pM).

Accuracy

Every IC50, absolute IC50 and confidence interval is compared with an independent calculation in SciPy on 11 datasets, covering 4PL and 5PL, rising and falling curves, raw and normalised responses, fixed tops and bottoms, and concentrations in molar units. They agree to within 0.1%.

This calculator is checked against independent calculations before every release. How we check our calculators.

References

Spotted something we're missing?

Help make WellSpotted better.

Your message is emailed to us. We only see what you send here, and use your email address only to reply. Privacy.