Calibration Curve Calculator

How reliable is your calibration curve, and what is your unknown concentration?

Paste in your calibration standards and instrument readings, and get a linear regression equation, R-squared fit quality, and calculated concentration for any unknown sample — in seconds.

Updated June 2026 · How this works

Example calculation — edit any field to use your own numbers

Worth knowing
How It Works
The formula, explained simply

A calibration curve works like a translator between two languages your instrument does not speak natively. The instrument produces a signal — absorbance, peak area, voltage — but what you care about is concentration. The curve builds a Rosetta Stone: measure a set of known concentrations, record the signals, and fit a line through the pairs. Once the line exists, you can run any unknown sample, read its signal, and reverse-translate back into concentration.

The math behind the translation is ordinary least squares linear regression. For each pair of concentration x and signal y values, the algorithm finds the slope and intercept that minimize the sum of squared vertical distances from the data points to the fitted line. The result is the equation y = slope * x + intercept. To find an unknown concentration, you rearrange it: x = (y - intercept) / slope. Every calculation in this tool uses that exact inversion.

R-squared measures how well the line describes your data. A value of 1.000 means every data point sits exactly on the line — perfect linearity. A value of 0.990 means the line explains 99% of the variance in your responses, with 1% unexplained by linear behavior. That remaining 1% sounds trivial, but in analytical chemistry it compounds into meaningful concentration errors, especially near the ends of your working range. This is why professional methods set minimum R-squared thresholds rather than eyeballing the fit.

When To Use This
Right tool, right situation

Use this calculator any time you need to back-calculate a concentration from an instrument signal using a linear standard curve — UV-Vis absorbance, HPLC peak area, fluorescence intensity, ion-selective electrode voltage, or any other response that follows Beer-Lambert or a linear detector law across your working range. It is appropriate for protein assays, nutrient analyses, heavy metal quantitation, and pharmaceutical potency checks where linearity has been established.

Do not use this tool when your response-concentration relationship is non-linear. Enzyme-linked immunosorbent assays (ELISA) and many immunoassays follow a sigmoidal 4-parameter logistic curve — fitting a line to this data and reading concentrations from the midpoint of the curve will give systematically wrong results. Similarly, if your signal detector is known to saturate at high concentrations, a linear fit is inappropriate and a weighted or polynomial regression is needed.

This tool is also not appropriate for method validation work — it calculates the regression but does not compute prediction intervals, limit of detection, limit of quantitation, or matrix-matched correction factors. For regulatory submissions or ISO-accredited reports, use validated software with full uncertainty propagation and audit trail functionality.

Common Mistakes
Why results sometimes look wrong

The most common mistake is treating R-squared as a pass/fail stamp rather than a diagnostic. A high R-squared does not mean your concentrations are accurate — it means your data is internally consistent. If all your standards were prepared from a degraded stock solution, your R-squared could be 0.9999 and every result would be systematically wrong. R-squared catches random scatter; it cannot catch systematic errors in your standards.

A second mistake is using too few standards placed too close together. Four standards across a narrow range — say 1, 2, 3, and 4 mg/L — will almost always produce a high R-squared simply because there is little room for curvature to appear. When samples then fall at 8 or 12 mg/L, the extrapolated concentrations can be substantially wrong even though the curve looked excellent within range. Always bracket your expected sample concentrations with your standards, and include a point near the upper end of your working range.

A third mistake specific to this tool is entering standards in the wrong column order — response first, concentration second — which inverts the slope and produces nonsense concentration results. The input expects concentration on the left of the comma and instrument response on the right. If your calculated unknown concentration comes out as a tiny fraction of what you expect, check the order of your columns before assuming the chemistry is wrong.

The Math
Worked examples and deeper derivation

The linear regression equations used here are the closed-form ordinary least squares solutions. For n data points with concentrations x and responses y:

Slope (m) = (n * sum(xy) - sum(x) * sum(y)) / (n * sum(x^2) - sum(x)^2)

Intercept (b) = (sum(y) - m * sum(x)) / n

R-squared is calculated as 1 - (SS_residuals / SS_total), where SS_residuals is the sum of squared differences between each actual y and the predicted y at that x, and SS_total is the sum of squared differences between each actual y and the mean y.

The unknown concentration is recovered by inverting the line equation: if the signal is y_unknown, then x_unknown = (y_unknown - b) / m.

One practical implication of this math is that R-squared is not symmetric — it measures how well x predicts y, not how well y predicts x. Calibration curves use x (concentration) to predict y (response) during construction, but then invert the relationship to predict x from y for unknowns. The propagation of uncertainty from regression errors into the final concentration estimate requires additional calculations — prediction intervals — that go beyond what this tool computes. For regulated methods, consult your method documentation for the correct confidence interval approach.

Protein assay in a biology lab
Five BSA protein standards at 0.2, 0.4, 0.8, 1.6, and 3.2 mg/mL, with absorbance readings of 0.085, 0.169, 0.336, 0.670, and 1.338. Unknown sample absorbance: 0.504.
The calculator returns a slope of approximately 0.418, an intercept near zero, and an R-squared of 0.9999 — essentially perfect linearity. The unknown concentration is about 1.20 mg/mL. An R-squared this close to 1.000 means the assay is well-optimized and the result can be reported with high confidence. Any value below 0.995 would warrant rerunning the blank or checking pipette calibration.
Nitrate analysis with a noisy detector
Six nitrate standards at 1, 2, 5, 10, 20, and 50 mg/L with instrument readings of 0.041, 0.079, 0.198, 0.403, 0.788, and 2.051. Unknown sample reading: 0.622.
The linear regression gives an R-squared of 0.9994 and the unknown concentration calculates to approximately 15.3 mg/L. This falls within the calibrated range of 1 to 50 mg/L, so the result is reliable. The slight deviation from perfect linearity at the 50 mg/L point is common — detectors often compress at high signal levels, suggesting a log or quadratic model might fit marginally better for high-concentration work.
Quality control auditor checking a lab report
A submitted data set shows four standards at 10, 20, 40, and 80 ppb with responses of 1020, 1980, 4150, and 7800. The reported R-squared is 0.9991. Unknown sample response: 3100 ppb.
Running the regression independently gives a slope of 97.8, an intercept of 43.2, and R-squared of 0.9988 — close to but not matching the submitted value. The unknown calculates to approximately 31.3 ppb. The small discrepancy in R-squared suggests rounding in the submitted data or a different regression method. An auditor should request raw unrounded instrument export files to reconcile the difference, since regulatory submissions require traceable data.
Expert Unlock
The thing most explanations skip

Ordinary least squares regression assumes that all error lies in the y-direction (the response) and that x values (concentrations) are known exactly. In practice, gravimetric or volumetric preparation of standards always carries some error, which means both axes have uncertainty. At low concentrations, the signal-to-noise ratio is worse, producing larger relative errors in y. This violates the homoscedasticity assumption of OLS and means that high-concentration standards exert disproportionate leverage on the slope estimate. For methods spanning more than two orders of magnitude, weighted least squares regression — where each point is weighted by 1/y or 1/y^2 — gives a more accurate slope at low concentrations where regulatory limits often sit. The R-squared from an OLS fit on wide-range data will often look excellent while the low-end accuracy is meaningfully worse than the headline number suggests.

What does R-squared tell me about trusting my unknown concentration result?

What R-squared is good enough for a calibration curve?
Most analytical methods set the minimum acceptable R-squared at 0.995, with stricter methods requiring 0.999 or better. An R-squared of 0.990 is generally the floor for screening-level work. Anything below 0.995 should trigger a review of your standards before reporting results.
How many standards do I need for a valid calibration curve?
Five to seven standards across your full working range is the practical minimum for reliable results. Three is the absolute floor — fewer than three forces a perfect fit that cannot reveal non-linearity. More standards improve slope accuracy and let you identify single outlier points without discarding the whole run.
Can I use my calibration equation to calculate a concentration outside the standard range?
No — extrapolating outside your calibrated range is not accepted practice under ISO 17025 or most regulatory methods. The linear relationship may not hold beyond your highest or lowest standard. Dilute your sample until its response falls within the calibrated range, then apply the dilution factor to get the actual concentration.

Need something this doesn't cover?

Suggest a tool — we'll build it →