Half-Maximal Inhibitory Concentration (IC 50 Calculator)

💊

IC50 Calculator

Fit a sigmoidal Hill equation to your dose-response data and calculate IC50, IC10, IC90, and Hill slope. Supports single measurements, duplicates, or triplicates with weighted nonlinear regression and SEM error bars.

Data Table (min. 4 rows)
Concentration Rep 1 (%)
💡 Quick Summary

Calculate IC50 — the concentration that inhibits a biological process by 50% — by fitting a sigmoidal Hill equation to your dose-response data. Enter single measurements or replicate values (duplicates / triplicates) per concentration. Weighted nonlinear regression activates automatically when replicates are provided. Includes Cheng-Prusoff IC50 → Ki conversion for competitive inhibitors.

📋 How to Use
  1. Select your concentration unit, fitting model (3PL or 4PL), and response data type (% inhibition or % viability) from the options row.
  2. Choose the number of replicates per concentration (1, 2, or 3). With duplicates or triplicates, the table adds extra columns and displays the live Mean ± SD per row.
  3. Enter your concentration / response values directly in the table, click Paste from Excel/Sheets to import a copied range (tab-separated: concentration, rep 1, rep 2, …), or click Load example data to pre-fill a doxorubicin MTT assay dataset.
  4. If your assay measures % viability (100% = no drug, 0% = full kill), select "% Viability" — the calculator converts it to % inhibition automatically before fitting.
  5. Click Fit Curve & Calculate IC50. The fitted sigmoidal curve, IC50, Hill slope, R², IC10, and IC90 are displayed. When replicates are present, error bars on the chart show ± SEM and weighted fitting (1/SD²) is used automatically.
  6. Cheng-Prusoff conversion: After fitting, enter substrate concentration [S] and Michaelis constant Km to calculate the true inhibition constant Ki for competitive inhibitors.
🧮 Formulas & Logic
Hill equation (inhibition)
y = Bottom + (Top − Bottom) / (1 + (IC50 / x)n)
IC10 from fitted parameters
IC10 = IC50 · (0.1 / 0.9)1/n  [when Bottom = 0, Top = 100]
IC90 from fitted parameters
IC90 = IC50 · (0.9 / 0.1)1/n  [when Bottom = 0, Top = 100]
Weighted regression weight
wi = 1 / SDi2  (applied per concentration when nreps ≥ 2)
Cheng-Prusoff (competitive)
Ki = IC50 / (1 + [S] / Km)
📊 Result Interpretation
IC50 value

A lower IC50 means the compound is more potent — it achieves half-maximal inhibition at a lower concentration. Typical drug IC50 values range from low nM (highly potent) to mM (weakly active).

Hill coefficient (n)

n = 1 indicates simple single-site inhibition (most common). n > 1 indicates positive cooperativity (steeper curve). n < 1 indicates negative cooperativity or a heterogeneous target population.

3PL vs. 4PL model

The 3-parameter model (3PL) fixes the baseline at 0% inhibition, appropriate for most cell viability and enzyme assays. The 4-parameter model (4PL) fits the baseline freely — use it when your assay has non-zero background inhibition or incomplete inhibition at the highest dose.

Weighted R²

When replicates are provided, R² is computed as a weighted statistic (1/SD² weights), giving greater influence to concentrations with tighter replicates. R² > 0.99 is excellent; > 0.95 is acceptable; < 0.90 suggests the data may not follow a simple sigmoidal model.

Ki vs. IC50

IC50 is assay-dependent — it changes with substrate concentration and enzyme amount. Ki is the true thermodynamic dissociation constant for competitive inhibitors, derived via the Cheng-Prusoff equation, and allows comparison across assay conditions.

🔬 Applications
  • Drug discovery: ranking compound potency in enzyme inhibition assays (HTRF, fluorescence polarisation)
  • Cell viability assays: MTT, CCK-8, MTS, resazurin — determining the dose needed to kill 50% of cells
  • Antiviral assays: CC50 (cytotoxic concentration 50%) and EC50 (effective concentration 50%) determination
  • Receptor pharmacology: antagonist potency against GPCR, ion channel, or nuclear receptor targets
  • Antibiotic MIC-to-IC50 relationships in microbiology
  • Herbicide / pesticide dose-response analysis in plant and insect bioassays
  • Enzyme kinetics: determining Ki from IC50 for hit-to-lead optimisation in medicinal chemistry
⚠️ Common Mistakes & Warnings
IC50 requires data spanning the full sigmoidal range

To get a reliable IC50, your concentration range must include doses that produce < 20% inhibition (lower plateau) AND doses that produce > 80% inhibition (upper plateau). If your highest dose does not reach 80% inhibition, the fitted IC50 is extrapolated and unreliable.

Weighted fitting requires consistent replicates

Weighted regression (1/SD²) downweights concentrations with high variability. If one concentration has unusually high variance due to a pipetting error rather than true biology, consider excluding the outlier replicate before fitting.

Cheng-Prusoff applies only to competitive inhibition

The equation Ki = IC50 / (1 + [S]/Km) is valid for competitive inhibitors only. For non-competitive, uncompetitive, or mixed inhibition, different equations apply. [S] and Km must be in the same units.

IC50 ≠ ED50 ≠ LD50

IC50 measures inhibitory potency in vitro. ED50 (effective dose) and LD50 (lethal dose) are in-vivo pharmacological/toxicological parameters that depend on ADME properties. Do not conflate these values.

❓ Frequently Asked Questions

What is the difference between IC50 and EC50?
IC50 (inhibitory) measures the concentration needed to reduce a biological activity by 50% — e.g. 50% reduction in enzyme activity or 50% decrease in cell viability. EC50 (effective) measures the concentration that produces 50% of the maximum possible stimulatory effect — e.g. 50% receptor activation. Both are mid-points of sigmoidal curves; the terminology reflects whether the response is being inhibited (IC50) or activated (EC50).
My curve does not reach 100% inhibition at the highest dose. What should I do?
Switch to the 4PL model so the fitting algorithm can estimate a Top < 100%. This often happens with partial inhibitors or when the compound precipitates at high concentrations. If the top plateau is genuinely unreachable, report IC50 as a relative measure and note the maximum inhibition achieved.
How many concentrations do I need for a reliable IC50?
A minimum of 6–8 concentrations spanning at least 3–4 log units around the expected IC50 is recommended. Use serial dilutions (e.g. half-log or full-log steps). The curve fitting works with as few as 4 points, but confidence in the result increases significantly with 8+ well-spaced points.
What is a typical Hill coefficient for drug-receptor interactions?
For simple 1:1 binding, n = 1. Most small-molecule drug-enzyme and drug-receptor interactions give n close to 1. Values significantly > 1 can indicate cooperativity, multiple binding sites, or steep concentration-response relationships. Very low n (< 0.7) may indicate heterogeneous targets or a mixed inhibitor population.
How does weighted curve fitting work and when is it used?
When you enter duplicates or triplicates, the calculator computes the SD at each concentration and assigns a weight of 1/SD² to each point before minimising the sum of squared residuals. This gives greater influence to concentrations with tight replicates and reduces the impact of noisy points. Weighted fitting is activated automatically — you do not need to change any settings.