Bench Tools Free browser-based calculators for the lab and for bioinformatics

ToolsStatistics

IC50 / EC50 Four-Parameter Logistic Fit Calculator (with Data Reliability Checks)

Fit IC50/EC50 and Hill slope from concentration–response data using 4PL; reports plateau coverage and how much fixing the slope to 1 shifts the result.

concentrations actually testedextrapolatedextrapolated%log₁₀ conc
The shaded bands are concentrations that were never tested. The shape there, and both plateau heights, are extrapolated from the middle points — and so is the IC50. Such a fit looks smooth and reports a high R². R² only says the curve passes through these points; it says nothing about the extrapolated plateaus.

The standard approach for dose–response curves is the four-parameter logistic (4PL) model:

Y = Bottom + (Top − Bottom) / (1 + 10^((logIC50 − logC) × Hill))

The four parameters are the upper plateau, lower plateau, half-maximal effective concentration, and the steepness of the curve (Hill slope). Fitting an IC50 is straightforward; the hard part is deciding whether that number is trustworthy.

I. If concentrations don’t reach both plateaus, you have extrapolation, not an IC50

IC50 is defined as the concentration at which the response falls exactly halfway between the upper and lower plateaus. If the highest concentration hasn’t driven the response to the lower plateau, or the lowest concentration hasn’t recovered to the upper plateau, both plateaus are extrapolated by the fitting algorithm, and so is the IC50—it may lie entirely outside the concentration range you actually tested.

Results like this often look convincing on a graph: smooth curve, high R². A high R² only means the model passes through your measured points; it says nothing about whether the extrapolated plateaus are real. This tool tells you explicitly whether the fitted IC50 falls within your tested concentration range and how far each end is from reaching a plateau.

As a rule of thumb, your concentration range should span at least two orders of magnitude above and below the IC50, with 8–10 points on a semi-log scale (3-fold or 10-fold dilution steps).

II. Don’t casually fix the Hill slope to 1

Many off-the-shelf tools default to fixing the slope at 1. A slope of 1 implies a single binding site and no cooperativity—this is an assumption, not a fact. Real data may have slopes of 0.5 or 2; forcing slope = 1 distorts the curve shape and shifts the IC50 systematically.

This tool reports both results side by side: the free-fit slope and the slope fixed at 1. The difference between them is exactly what that assumption costs you on your particular dataset.

Conversely, if the fitted slope is far from 1 (e.g., greater than 3 or less than 0.3), this usually doesn’t mean you’ve discovered strong cooperativity. It’s more likely a signal that something else is wrong: too few concentration points, plateaus not reached, an outlier, or more than one mechanism operating in the system.

III. IC50 is condition-dependent; comparing values across conditions is meaningless

The same compound against the same target will give different IC50 values if you change the substrate concentration—competitive inhibition is especially sensitive to this: the more substrate present, the more inhibitor you need to displace it. This is exactly what the Cheng–Prusoff relationship describes: IC50 rises with substrate or ligand concentration, while Ki does not.

Therefore:

IV. IC50 and EC50 use the same mathematics

The only difference is direction: when response decreases with concentration, the effect is inhibition (IC50, negative Hill slope); when response increases, it is activation (EC50, positive slope). This tool detects the sign of the fitted slope and labels the result automatically—no need to choose in advance.

Related tools

For Michaelis–Menten Km and Vmax fitting (the same nonlinear fitting approach), see Enzyme Kinetics; for linear standard curves and back-calculation of unknowns, see Standard Curve; for serial dilution planning, see Dilution Calculator; for two-group comparison sample sizing, see Sample Size Estimator.

FAQ

What is the difference between IC50 and EC50?

Mathematically they use the same four-parameter logistic model; the difference is direction. When response **decreases** with concentration, the effect is inhibition and the midpoint is called IC50 (negative Hill slope); when response **increases**, it is activation and the midpoint is called EC50 (positive slope). This tool detects the sign of the fitted slope and labels the result automatically—no need to choose in advance.

R² is 0.99—why does the tool still flag the result as unreliable?

Because R² only tells you that the curve passes through your measured points; it says nothing about the **untested** concentration range. If the highest concentration has not driven the response to the lower plateau, that plateau is extrapolated by the fitting algorithm, and so is the IC50—yet curves like this typically look smooth and have high R². That is why this tool reports "how far each end is from a plateau" and "whether the IC50 falls within the tested range" as separate outputs; those matter more than R².

How should I set up my concentration range?

Span at least two orders of magnitude above and below the IC50, with 8–10 points on a semi-log scale (3-fold or 10-fold dilution steps), ensuring the highest concentration drives the response to the lower plateau and the lowest recovers to baseline. If you don't yet know where the IC50 is, do a rough screen first: space 4–5 orders of magnitude in 10-fold steps, find where the response starts to drop, then fill in that region with a denser series.

Why shouldn't I fix the Hill slope to 1?

A slope of 1 implies a single binding site and no cooperativity—this is an **assumption**, not a fact. Real data may have slopes of 0.5 or 2; forcing slope = 1 distorts the curve shape and shifts the IC50 systematically. This tool reports both the free-fit result and the fixed-slope result, and calculates the fold difference: that difference is exactly what this assumption costs you on your dataset.

The fitted Hill slope is 5—does that indicate strong cooperativity?

Probably not. When a fitted slope is far from 1 (greater than 3 or less than 0.3), the more common explanation is a data problem: too few concentration points, plateaus not reached, an outlier, or more than one mechanism operating in the system. Genuine strong cooperativity requires independent supporting evidence; a single fitted curve is not sufficient.

My IC50 is ten-fold higher than the literature value—is the compound different?

Don't conclude that yet. IC50 is **condition-dependent**: the same compound against the same target gives different IC50 values when substrate or ligand concentration changes—competitive inhibition is especially sensitive to this, because more substrate requires more inhibitor to displace it (this is exactly what the Cheng–Prusoff relationship describes). Cell-based values are further confounded by permeability, efflux, and serum binding, making them incomparable to cell-free biochemical values. For cross-laboratory comparisons, use Ki.

What information should I include when reporting an IC50?

At minimum: substrate or ligand concentration, enzyme amount or cell number, incubation time, readout method, concentration range and number of points, and whether the Hill slope was fitted freely or fixed. Writing "IC50 = 1.2 µM" alone is incomplete—readers cannot tell whether any discrepancy with their own data reflects the compound or the experimental design.

Related tools

Multiple Testing Correction Calculator: BH (FDR), BY, and Bonferroni

Paste a column of p-values and get BH q-values, BY, and Bonferroni corrections side by side in one step.

qPCR 2^−ΔΔCt Relative Quantification Online Calculator

Paste your Ct table and get ΔCt, ΔΔCt, fold-change, and within-group dispersion calculated automatically.

Gene List Intersection, Union & Difference — Online Venn Set Calculator

Paste 2–3 gene/ID lists and instantly get intersections, unions, and unique elements, with deduplication and case normalization.

No ads, no tracking, no sign-up — and every formula here is checked against a known answer. Keeping it that way takes ongoing work. If it saved you time, buy me a coffee.
Buy me a coffee