# Michaelis–Menten calculator: Km, Vmax, kcat and kcat/Km

> Fit Km and Vmax by nonlinear regression with standard errors and R², get kcat and kcat/Km, and compare with a Lineweaver–Burk plot. Chart, CSV.

URL: https://www.labcanvas.com/tools/michaelis-menten-calculator

Paste substrate concentrations and initial rates (with replicates) and the calculator fits v = Vmax·[S]/(Km + [S]) by nonlinear least squares. It gives Km and Vmax with standard errors, 95% confidence intervals and R², kcat and kcat/Km when you enter the enzyme concentration, the fitted curve over your data, and a Lineweaver–Burk plot of the same data for comparison. A substrate-inhibition model can be fitted and tested against plain Michaelis–Menten.

## Quick answer

- **What it does:** Fits the Michaelis–Menten equation to initial rates by nonlinear least squares and reports Km and Vmax with standard errors, R², kcat and kcat/Km.
- **Formula:** v = Vmax·[S] / (Km + [S]);  kcat = Vmax / [E];  catalytic efficiency = kcat / Km
- **Example:** Eight substrate concentrations from 2.5 to 320 µM in triplicate give Km = 16.74 ± 0.67 µM and Vmax = 1.153 ± 0.012 µM/min (R² = 0.9948). With 10 nM enzyme, kcat = 1.92 s⁻¹ and kcat/Km = 1.15 × 10⁵ M⁻¹ s⁻¹.

Free, in the browser, no account needed. Updated 2026-10-19.

## Features

- Nonlinear least-squares fit of \(v = V_\mathrm{max}[\mathrm{S}]/(K_\mathrm{m} + [\mathrm{S}])\) with the Levenberg–Marquardt fitter of the LabCanvas Graphs app (results match SciPy curve_fit)
- Km and Vmax with standard errors and t-based 95% confidence intervals, R² and Sy.x
- \(k_\mathrm{cat} = V_\mathrm{max}/[\mathrm{E}]\) and \(k_\mathrm{cat}/K_\mathrm{m}\) with standard errors (delta method, using the covariance of Km and Vmax)
- Optional substrate-inhibition model \(v = V_\mathrm{max}[\mathrm{S}]/\)​\((K_\mathrm{m} + [\mathrm{S}](1 + [\mathrm{S}]/K_\mathrm{i}))\), with an extra sum-of-squares F test against Michaelis–Menten
- Lineweaver–Burk (double-reciprocal) plot and its Km and Vmax beside the nonlinear estimates
- Any number of replicates; paste wide or long data from Excel
- Warnings when the substrate range is too narrow to define Km or Vmax
- Charts as PNG or SVG, results as CSV; nothing is uploaded

## How to use it

1. **Enter the rates**: Type or paste each substrate concentration with its replicate initial rates, and choose the units of [S] and of the rate.
2. **Add the enzyme concentration**: Enter the active enzyme concentration in the assay to get kcat and kcat/Km (the rate must be in concentration per time).
3. **Read and export**: Read Km and Vmax with their standard errors, check the warnings and the Lineweaver–Burk comparison, and download the charts and CSV.

## At a glance

| | |
| --- | --- |
| Model | \(v = V_\mathrm{max}[\mathrm{S}]/(K_\mathrm{m} + [\mathrm{S}])\); optional substrate inhibition with Ki |
| Fitting | Unweighted nonlinear least squares, Levenberg–Marquardt (matches SciPy curve_fit) |
| Gives | Km, Vmax (± SE, 95% CI), R², kcat, kcat/Km (± SE) |
| Comparison | Lineweaver–Burk plot and its Km, Vmax; F test for substrate inhibition |
| Input | Substrate concentrations with any number of replicate rates |
| Export | Charts as PNG or SVG; results as CSV |

## How it works

$$v = \frac{V_\mathrm{max}\,[\mathrm{S}]}{K_\mathrm{m} + [\mathrm{S}]}$$

The calculator fits this equation to every replicate rate as its own point by ordinary (unweighted) nonlinear least squares, using the Levenberg–Marquardt method. Starting values come from the data (\(V_\mathrm{max}\) from the largest rate, \(K_\mathrm{m}\) from the \([\mathrm{S}]\) where the rate is half of it). Standard errors are the square roots of the diagonal of the covariance matrix, \(s^2 \cdot (J^\mathsf{T} J)^{-1}\), where \(J\) is the Jacobian of the model at the solution and \(s^2 = \mathrm{SS}/(n - 2)\) is the residual variance; 95% confidence intervals are the estimate \(\pm\, t(0.975,\, n - 2) \times \mathrm{SE}\). \(R^2 = 1 - \mathrm{SS}_\mathrm{residual}/\mathrm{SS}_\mathrm{total}\).

**kcat and kcat/Km.** The turnover number is \(k_\mathrm{cat} = V_\mathrm{max}/[\mathrm{E}]\), with \([\mathrm{E}]\) the molar concentration of active sites; the rate must be in molar units per time (µM/min, nM/s…), and \(k_\mathrm{cat}\) is reported in \(\mathrm{s^{-1}}\). The specificity constant \(k_\mathrm{cat}/K_\mathrm{m}\) is in \(\mathrm{M^{-1}\,s^{-1}}\). Its standard error comes from the delta method:

$$\begin{aligned} &\operatorname{Var}(V_\mathrm{max}/K_\mathrm{m}) \\ &\quad = \frac{\operatorname{Var}(V_\mathrm{max})}{K_\mathrm{m}^2} \\ &\quad + \frac{V_\mathrm{max}^2 \operatorname{Var}(K_\mathrm{m})}{K_\mathrm{m}^4} \\ &\quad - \frac{2\,V_\mathrm{max} \operatorname{Cov}(V_\mathrm{max}, K_\mathrm{m})}{K_\mathrm{m}^3} \end{aligned}$$

with \([\mathrm{E}]\) treated as exact. Michaelis and Menten’s own 1913 analysis in fact estimated \(V_\mathrm{max}/K_\mathrm{m}\), the quantity that equals \(k_\mathrm{cat}/K_\mathrm{m} \times [\mathrm{E}]\) (Johnson and Goody 2011).

**Substrate inhibition.** When the rate falls at high substrate, the model

$$v = \frac{V_\mathrm{max}\,[\mathrm{S}]}{K_\mathrm{m} + [\mathrm{S}]\,(1 + [\mathrm{S}]/K_\mathrm{i})}$$

adds a dissociation constant \(K_\mathrm{i}\) for a second, unproductive substrate binding. It is compared with plain Michaelis–Menten by the extra sum-of-squares F test,

$$F = \frac{(\mathrm{SS_{MM}} - \mathrm{SS_{SI}})/(\mathrm{df_{MM}} - \mathrm{df_{SI}})}{\mathrm{SS_{SI}}/\mathrm{df_{SI}}}$$

In the substrate-inhibition model \(K_\mathrm{m}\) is no longer exactly the \([\mathrm{S}]\) at half of \(V_\mathrm{max}\).

**Why not the Lineweaver–Burk line?** Lineweaver and Burk (1934) plotted \(1/v\) against \(1/[\mathrm{S}]\), which turns the hyperbola into a straight line with slope \(K_\mathrm{m}/V_\mathrm{max}\) and intercept \(1/V_\mathrm{max}\). Taking reciprocals distorts the errors: a small error on the slowest rate (lowest \([\mathrm{S}]\)) becomes a large error in \(1/v\), and those points, furthest from the axis, then dominate a least-squares line. Dowd and Riggs (1965) compared the linear transformations and found the double-reciprocal plot gave the least reliable estimates. Fit the hyperbola directly and use the double-reciprocal plot only to display the data, for example the pattern of lines with an inhibitor.

**Assumptions.** Initial rates (less than about 10% of substrate converted), \([\mathrm{E}]\) much lower than \([\mathrm{S}]\), a single substrate (or the others saturating), and errors of similar size across the curve. Spread \([\mathrm{S}]\) from about \(0.2 \times K_\mathrm{m}\) to \(5 \times K_\mathrm{m}\) or higher; if the highest \([\mathrm{S}]\) is below about \(2 \times K_\mathrm{m}\), \(V_\mathrm{max}\) and \(K_\mathrm{m}\) are strongly correlated and poorly determined.

Sources: Johnson KA, Goody RS. The original Michaelis constant: translation of the 1913 Michaelis–Menten paper. *Biochemistry* 2011;50:8264–8269, [doi:10.1021/bi201284u](https://doi.org/10.1021/bi201284u). Lineweaver H, Burk D. The determination of enzyme dissociation constants. *J Am Chem Soc* 1934;56:658–666, [doi:10.1021/ja01318a036](https://doi.org/10.1021/ja01318a036). Dowd JE, Riggs DS. A comparison of estimates of Michaelis–Menten kinetic constants from various linear transformations. *J Biol Chem* 1965;240:863–869.

## Worked example: Km, Vmax and kcat from eight substrate concentrations

The built-in example is a synthetic data set generated from \(V_\mathrm{max} = 1.2\ \upmu\mathrm{M/min}\) and \(K_\mathrm{m} = 18\ \upmu\mathrm{M}\), with eight substrate concentrations (2.5 to 320 µM, two-fold steps) measured in triplicate with about 4% random noise. The enzyme concentration is 10 nM.

| [S] (µM) | v 1 | v 2 | v 3 |
| --- | --- | --- | --- |
| 2.5 | 0.146 | 0.148 | 0.145 |
| 5 | 0.252 | 0.256 | 0.251 |
| 10 | 0.430 | 0.452 | 0.420 |
| 20 | 0.616 | 0.644 | 0.641 |
| 40 | 0.831 | 0.797 | 0.827 |
| 80 | 1.007 | 0.927 | 0.962 |
| 160 | 0.997 | 1.023 | 0.999 |
| 320 | 1.125 | 1.078 | 1.148 |

- **Fit the hyperbola** to all 24 rates (22 degrees of freedom): \(V_\mathrm{max}\) = **1.153 ± 0.012 µM/min** (95% CI 1.128 to 1.178) and \(K_\mathrm{m}\) = **16.74 ± 0.67 µM** (95% CI 15.35 to 18.13), \(R^2 = 0.9948\). Both intervals are close to the true values; the highest \([\mathrm{S}]\) is \(19 \times K_\mathrm{m}\), so the plateau is well defined.
- **Turnover number.** \(V_\mathrm{max}\) in M/s is \(1.153 \times 10^{-6} / 60 = 1.922 \times 10^{-8}\ \mathrm{M/s}\); divided by \([\mathrm{E}] = 10 \times 10^{-9}\ \mathrm{M}\) this gives \(k_\mathrm{cat}\) = **1.92 ± 0.02 s⁻¹** (115 min⁻¹).
- **Catalytic efficiency.** \(k_\mathrm{cat}/K_\mathrm{m} = 1.922 / (16.74 \times 10^{-6}\ \mathrm{M})\) = **1.15 × 10⁵ M⁻¹ s⁻¹**, with a standard error of \(3.8 \times 10^{3}\ \mathrm{M^{-1}\,s^{-1}}\) (3.3%) from the delta method. The relative error of the ratio is smaller than the sum of the two relative errors because \(K_\mathrm{m}\) and \(V_\mathrm{max}\) are positively correlated.
- **Compare with Lineweaver–Burk.** A straight line through \(1/v\) against \(1/[\mathrm{S}]\) for the same 24 points gives \(V_\mathrm{max} = 1.167\ \upmu\mathrm{M/min}\) and \(K_\mathrm{m} = 17.53\ \upmu\mathrm{M}\) with \(R^2 = 0.9991\). The high R² does not make it better: it reflects the transformed scale, which the lowest-\([\mathrm{S}]\) points dominate. With noisier data at low \([\mathrm{S}]\) the two estimates part further.
- **Substrate inhibition?** Switching to the substrate-inhibition model on these data drives \(K_\mathrm{i}\) to very large values, and the calculator reports that no substrate inhibition is detectable, as expected for data generated without it.

| Quantity | Meaning | Units |
| --- | --- | --- |
| \(K_\mathrm{m}\) | \([\mathrm{S}]\) at which \(v = V_\mathrm{max}/2\) (Michaelis–Menten model) | concentration (µM, mM) |
| \(V_\mathrm{max}\) | Rate at saturating substrate, proportional to \([\mathrm{E}]\) | concentration per time |
| \(k_\mathrm{cat}\) | \(V_\mathrm{max}/[\mathrm{E}]\): reactions per active site per second | \(\mathrm{s^{-1}}\) |
| \(k_\mathrm{cat}/K_\mathrm{m}\) | Second-order rate constant at low \([\mathrm{S}]\); compares substrates | \(\mathrm{M^{-1}\,s^{-1}}\) |

## Questions

### How do I calculate Km and Vmax from my data?

Measure initial rates at 6–10 substrate concentrations spread from below to well above Km, then fit \(v = V_\mathrm{max}[\mathrm{S}]/(K_\mathrm{m} + [\mathrm{S}])\) by nonlinear regression, as this calculator does. Km is the substrate concentration giving half of Vmax. Reading Km and Vmax off a Lineweaver–Burk line is the older method and gives less reliable values.

### Why is nonlinear regression better than a Lineweaver–Burk plot?

Taking reciprocals magnifies the error of the slowest rates, measured at the lowest substrate concentrations, and a straight-line fit then lets those points set the slope and intercept. Nonlinear regression fits the rates on their measured scale, so every point counts by its real error. Dowd and Riggs (1965) showed the double-reciprocal plot gives the least reliable estimates of the linear methods.

### How do I calculate kcat?

Divide Vmax by the molar concentration of active enzyme in the assay: \(k_\mathrm{cat} = V_\mathrm{max}/[\mathrm{E}]\). Vmax must be in concentration per time (for example µM/min), and [E] in the same concentration unit; convert minutes to seconds to get s⁻¹. If Vmax is in µmol/min per mg protein, multiply by the molar mass of the enzyme (in g/mol, per active site) and divide by 60 000 to get kcat in s⁻¹.

### What does kcat/Km mean?

It is the specificity constant or catalytic efficiency: the apparent second-order rate constant for enzyme and substrate at low substrate concentration. It compares how well an enzyme uses different substrates. Values near \(10^{8}\text{–}10^{9}\ \mathrm{M^{-1}\,s^{-1}}\) approach the diffusion limit.

### What substrate concentrations should I use?

Cover roughly \(0.2 \times K_\mathrm{m}\) to \(5 \times K_\mathrm{m}\) or more, with points on both sides of Km. If the highest concentration is below about twice Km, the curve does not bend towards its plateau and Km and Vmax cannot be separated well; the calculator warns when that happens.

### How do I know if I have substrate inhibition?

The rate rises, peaks and then falls at high substrate concentration. Choose the substrate-inhibition model: the calculator fits Ki and an F test tells you whether the extra parameter is justified compared with plain Michaelis–Menten.

### Can I use the means instead of all replicates?

You can, but fitting every replicate as its own point uses the information on scatter and gives honest degrees of freedom. Paste all replicates; the chart shows means ± SD while the fit uses every value.

### Is this the same as a dose–response or IC50 fit?

No. Michaelis–Menten is a rectangular hyperbola on a linear concentration axis, starting at zero. For inhibitor dose–response curves on a log axis, use the IC50 calculator.
