🔬 Calibration Curve Generator

Fit Standard Curves, Estimate Unknowns With Uncertainty, and Export Publication-Ready Figures

by Stephen T. Abedon Ph.D.Steve Abedon, Ph.D., has taught well over 100 individual classes and ~10 individual courses over his 30+ years as a college professor. He has over 150 publications, including multiple monographs, and is ranked in the top 1 or 2 percent among researchers of all disciplines worldwide. His research focuses on bacteriophage biology and phage therapy. (abedon.1@osu.edu)

phage.org | phage-therapy.org | biologyaspoetry.org | abedon.phage.org | google scholar | publications

Jump to:   📋 Standards  |  📈 Fit  |  🔍 Unknowns  |  🖼️ Figure  |  💾 Save & Load  |  📖 Methods  |  🧮 More Calculators

What Is a Calibration Curve? A calibration (or standard) curve relates something you can measure easily, such as optical density, a qPCR quantification cycle, or an assay signal, to something that is harder to measure directly, such as viable bacteria per milliliter or genome copies. You measure a series of standards of known value, fit a curve to them, and then read unknown samples off that curve. This tool fits seven kinds of curve, from a straight line to the four- and five-parameter logistic, and compares them side by side. It then estimates unknowns together with 95% intervals, flags estimates that fall outside the range of the standards, saves everything to a JSON file that can be loaded back in later, and draws figures that can be exported as vector SVG or as 300 or 600 dpi PNG.

For additional discussion, see the following references as well as the Methods tab:

Findlay & Dillard (2007). AAPS Journal 9:E260–E267. 10.1208/aapsj0902029
Stevenson et al. (2016). Scientific Reports 6:38828. 10.1038/srep38828

To cite this tool: Abedon, S.T. (2026). Calibration Curve Generator. calibration.phage.org.

calibration.phage.org  ·  Abedon’s Books

How can I improve this page?  contact: calibration@phage.org

Describe Your Data

Name the dataset and the two quantities. The x quantity is the known value of each standard (for example, CFU/mL established by plating); the y quantity is what the instrument reports (for example, OD at 600 nm). These labels carry through to the figure, the results tables, and the saved JSON file.

In any label, _{600} sets a subscript and ^{2} a superscript, so OD_{600} becomes OD600 and cells mm^{-2} becomes cells mm−2.

Standards

Enter one row per standard: its known x value and one or more replicate y readings. Leave a replicate cell empty if that reading is missing. Clear the “Use” box to exclude a standard from the fit without deleting it; excluded standards are kept in the saved file and can be shown on the figure. Numbers can be typed as 2.5e7, 2.5E7, or 2.5x10^7.

Choose a Model

Fitting every replicate uses all of the information and allows a lack-of-fit test. Fitting means gives each standard equal weight regardless of its replicate count.

Fitted Curve

Enter at least three standards to fit a curve.

Preview only. Titles, sizes, fonts, colors, and export are set on the Figure tab.

Residuals

Residuals are observed minus fitted values, in the units the model is fitted in. For an adequate model they scatter evenly around zero across the whole range. A curved pattern suggests the wrong shape of model; a funnel suggests that scatter grows with the response.

Compare Models

Every applicable model is fitted to the same standards. Lower AICc indicates better support once the number of parameters is taken into account; differences (ΔAICc) under about 2 are generally not treated as meaningful. The lack-of-fit test needs replicates at two or more standards. Use the comparison as a guide alongside the residual plot and knowledge of the assay rather than as a verdict.

Estimate Unknowns

Enter each unknown’s measured y values (one or more replicates, separated by spaces or commas) and, if the sample was diluted before measurement, the dilution factor. The estimate is read from the curve currently selected on the Fit tab and then multiplied by the dilution factor.

Results

No unknowns entered yet.

Publication Figure

Adjust the figure, then export it. SVG is a vector format that stays sharp at any size and can be edited in Illustrator, Inkscape, or PowerPoint. PNG exports are rendered at the chosen physical size and resolution.

Size and type

Text

Axes

Data points

Curve and annotation

Color

Export

Shown at screen size; the exported file uses the physical size set at left.

Save and Load

The JSON file holds everything needed to rebuild this session: labels, standards (including excluded ones), model choice, unknowns, and figure settings. It also records the fitted parameters, their covariance matrix, and the calibrated range, so that other software, or another phage.org tool, can apply the curve without refitting. On loading, the curve is always refitted from the standards; the stored results are there for the record.

The tool also keeps an automatic copy of your work in this browser, so it is still here if you close the page. That copy stays on this computer. Use the JSON file to move work between computers or to share it.

Record Details

Files

Drop a calibration JSON file here, or click to choose one

JSON preview


    

What the Tool Does

This is classical calibration. Standards of known value x are measured, giving responses y; a curve y = f(x) is fitted to them by least squares; and each unknown is estimated by solving f() = 0, where 0 is the mean of the unknown’s measured responses. The known value goes on the x axis and the instrument reading on the y axis because the method treats the standards’ values as fixed and places all of the random error in the responses.

That assumption deserves attention. When standards are themselves estimated, as when CFU/mL is established by plating, their values carry sampling and dilution error of their own. The intervals reported here do not include that error, and so are expected to be narrower than the true uncertainty of an estimate whenever the standards’ values are appreciably uncertain.

Models

ModelEquationTypical use
Lineary = a + bxResponses proportional to amount over the range of the standards
Proportionaly = bxBlank-subtracted responses known to be zero at zero; check first that the linear fit’s intercept is consistent with zero
Quadraticy = a + bx + cx²Gentle curvature, such as optical density at higher cell densities; should not be extrapolated, and is flagged if it turns over within the range
Semi-logy = a + b log10xResponses linear in the logarithm of amount, notably qPCR quantification cycles
Log-loglog10y = a + b log10xPower-law relationships, and data whose scatter grows in proportion to the response
4PLy = d + (ad) / [1 + (x/c)b]Sigmoidal responses that level off at both ends, such as ELISA and other binding assays
5PLy = d + (ad) / [1 + (x/c)b]gSigmoidal responses that approach one plateau more sharply than the other

In the logistic models, a is the response at zero concentration, d is the response approached at very high concentration, b (kept positive here) sets the steepness, and c is the concentration at the inflection point of the 4PL, where the response is halfway between a and d. Whether the curve rises or falls is set by whether d is larger or smaller than a. The fifth parameter, g, makes the curve asymmetric; with g = 1 the 5PL is the 4PL, and with g ≠ 1, c is no longer the midpoint. The 4PL is widely treated as the reference model for ligand-binding assays, with the 5PL used where asymmetry is evident (Findlay & Dillard, 2007; Gottschalk & Dunn, 2005). Because both models flatten toward their plateaus, estimates near either plateau are imprecise even when the fit itself is excellent.

For the semi-log model applied to qPCR, with y the quantification cycle and x the template amount, the tool also reports the amplification efficiency E = 10−1/b − 1, where E = 1 corresponds to perfect doubling each cycle (Bustin et al., 2009). Genome copies measured this way need not equal plaque-forming units.

Semi-log and log-log models use only standards with x > 0, and the log-log model only responses y > 0; other points are set aside with a note. The logistic models accept a zero standard (a blank).

Fitting

All models are fitted by unweighted least squares in the scale shown in the model’s equation, which is the response itself for every model except the log-log, which is fitted on log10y. Unweighted fitting assumes that the scatter of the responses is about the same across the range. The residual plot is the place to check that assumption: scatter that widens with the response suggests trying the log-log model or restricting the range. Weighted fitting is not yet offered.

The linear, proportional, quadratic, semi-log, and log-log models are linear in their parameters and are solved directly, with x rescaled internally so that values such as 109 CFU/mL cause no loss of precision. The 4PL and 5PL are fitted by the Levenberg–Marquardt method (Marquardt, 1963), started from several initial guesses, with the lowest residual sum of squares kept.

Uncertainty

With n fitted points and p parameters, the residual standard deviation is s = [SSE / (np)]1/2, and the parameter covariance matrix is C = s²(JTJ)−1, where J holds the derivatives of the model with respect to its parameters at each fitted point. Parameter intervals are ±t·SE, with t the two-sided 95% Student’s t value on np degrees of freedom. For the 4PL and 5PL, these are large-sample approximations.

With g the vector of derivatives of f with respect to the parameters at a given x, the 95% confidence band for the fitted curve is ±t(gTCg)1/2, and the 95% prediction band for a single new reading is ±t(s² + gTCg)1/2.

For an unknown measured m times, the variance of the estimate is approximated by the delta method as

Var() ≈ [s²/m + gTCg] / (∂f/∂x

which, for a straight line, is the familiar textbook expression for the standard error of a value read from a calibration line (Draper & Smith, 1998; Miller & Miller, 2010). For models that use log10x, the interval is calculated on the log scale and converted back, and so is asymmetric about the estimate. The approximation deteriorates where the curve is nearly flat, which is why estimates near a logistic plateau are flagged. When the fit uses standard means rather than replicates, s² describes the scatter of means, and the first term is scaled by the average number of replicates per standard divided by m.

Range and Extrapolation

An estimate is reported without qualification only if it lies within the range of the included standards. Beyond that range it is marked as extrapolated, and it is reported at all only up to one decade beyond the standards for models that use log10x, or up to half the range beyond them otherwise. Responses further out, or beyond a logistic plateau, receive no estimate. Extrapolated values rest on the assumption that the model holds where it has not been tested, and are best confirmed by diluting or concentrating the sample into range. When a zero standard is present, responses between it and the lowest nonzero standard are estimated but marked as below the lowest nonzero standard.

Comparing Models

Models are compared by the small-sample Akaike information criterion, AICc (Hurvich & Tsai, 1989; Burnham & Anderson, 2002), counting the residual variance as a parameter. Because the log-log model is fitted to log10y, its AICc is converted to the scale of y by adding 2Σln(yi ln 10), the change-of-variables correction, so that all models are compared on the same data. Models can be compared this way only when they are fitted to the same points, so the table notes when a model had to set some points aside.

When replicates exist at two or more standards, a lack-of-fit F test compares scatter around the curve with scatter among replicates at the same standard. A small P value indicates that the model misses systematic structure in the data. With the few standards typical of a calibration, the test has limited power, so a large P value is weak evidence that the model is adequate.

Limits of Detection and Quantification

When a zero standard (blank) has two or more replicates, the tool reports the responses 3 and 10 standard deviations of the blank away from the blank mean, in the direction the curve moves, and reads both off the curve. These are one common convention for the limit of detection and the limit of quantification; others exist, and estimates from only a few blank replicates are themselves imprecise.

Optical Density as a Measure of Cell Density

Optical density measures light scattered out of the beam, not cells, and is proportional to cell concentration only over a limited range. The relationship depends on the instrument, the path length, and the size and shape of the cells, so that a calibration made for one strain, growth condition, and instrument need not hold for another (Stevenson et al., 2016). An interlaboratory comparison across 244 laboratories found that calibrating against serial dilutions of silica microspheres gave more precise and more transferable conversions than calibrating against CFU counts (Beal et al., 2020). Calibration against CFU remains the relevant choice when the quantity of interest is viable, colony-forming bacteria.

The Saved JSON File

The file identifies itself with "schema": "calibration.phage.org/1" and contains dataset (name and record details), axes (names and units), standards (label, x, replicate y values, and whether each is used), model, unknowns, and figure settings. A calibration block records the fitted model: its equation, the internal parameter vector and covariance matrix, the reported parameters with standard errors, the residual standard deviation and degrees of freedom, and the calibrated range. The internal parameters are the ones the tool actually fits, some on transformed scales (for example, log10c for the logistic models), and the block’s parameterization field states how each is defined.

References

  • Beal, J., Farny, N.G., Haddock-Angelli, T., et al. (2020). Robust estimation of bacterial cell count from optical density. Communications Biology 3:512. 10.1038/s42003-020-01127-5
  • Burnham, K.P., & Anderson, D.R. (2002). Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach, 2nd ed. Springer, New York. 10.1007/b97636
  • Bustin, S.A., Benes, V., Garson, J.A., et al. (2009). The MIQE guidelines: minimum information for publication of quantitative real-time PCR experiments. Clinical Chemistry 55:611–622. 10.1373/clinchem.2008.112797
  • Draper, N.R., & Smith, H. (1998). Applied Regression Analysis, 3rd ed. Wiley, New York.
  • Findlay, J.W.A., & Dillard, R.F. (2007). Appropriate calibration curve fitting in ligand binding assays. AAPS Journal 9:E260–E267. 10.1208/aapsj0902029
  • Gottschalk, P.G., & Dunn, J.R. (2005). The five-parameter logistic: a characterization and comparison with the four-parameter logistic. Analytical Biochemistry 343:54–65. 10.1016/j.ab.2005.04.035
  • Hurvich, C.M., & Tsai, C.-L. (1989). Regression and time series model selection in small samples. Biometrika 76:297–307. 10.1093/biomet/76.2.297
  • Marquardt, D.W. (1963). An algorithm for least-squares estimation of nonlinear parameters. Journal of the Society for Industrial and Applied Mathematics 11:431–441. 10.1137/0111030
  • Miller, J.N., & Miller, J.C. (2010). Statistics and Chemometrics for Analytical Chemistry, 6th ed. Pearson, Harlow.
  • Stevenson, K., McVey, A.F., Clark, I.B.N., Swain, P.S., & Pilizota, T. (2016). General calibration of microbial growth in microplate readers. Scientific Reports 6:38828. 10.1038/srep38828

🧮 Phage Biology and Phage Therapy Calculators

Loading calculators…
Calibration Curve Generator — calibration.phage.org — Version 2026.09.22