How to Calculate Km and Vmax: A Practical Enzyme Kinetics Guide
Step-by-step guide to Michaelis-Menten kinetics: measuring initial rates, fitting Km and Vmax, why Lineweaver-Burk plots mislead, and how to report results correctly.
Enzyme kinetics looks simple on paper — one equation, two parameters — and yet Km and Vmax are among the most frequently misreported values in the life sciences. The usual culprits are not the maths but the data: rates read from the wrong part of the curve, substrate ranges that never approach saturation, and linearised plots that distort the very errors you are trying to estimate.
This guide walks through the practical workflow: from raw absorbance traces to defensible Km and Vmax values.
The model
The Michaelis-Menten equation relates initial reaction velocity to substrate concentration:
v = (Vmax * [S]) / (Km + [S])
- Vmax — the maximum velocity reached when the enzyme is saturated with substrate.
- Km — the substrate concentration at which v = Vmax/2. It is an inverse proxy for apparent affinity: a low Km means half-maximal activity is reached at low substrate.
- kcat — turnover number,
Vmax / [E]total, only calculable if you know the active enzyme concentration. - kcat/Km — catalytic efficiency, the number most often compared between enzyme variants or across substrates.
Two assumptions matter in the lab: substrate is in large excess over enzyme, and you measure initial velocity, before appreciable substrate depletion or product inhibition.
Step 1: get real initial rates, not endpoints
This is where most datasets go wrong. A single endpoint absorbance is not a rate. You need a kinetic read — absorbance versus time — and a linear region from it.
Practical rules:
- Read every 15-60 s for long enough that the lowest substrate concentration still gives a measurable slope.
- Fit the slope over the region where the trace is linear, typically while less than 10 % of substrate has been consumed.
- Discard wells where the trace curves from the very first read: the reaction is too fast, so dilute the enzyme rather than forcing a fit.
- Convert slope units consistently: ΔA/min becomes ΔC/min via the Beer-Lambert law,
Δc = ΔA / (ε · l), with the actual path length of your well volume — not a generic 1 cm.
In Labreador the Kinetic Analysis module does exactly this reduction: it detects the time axis in a plate-reader export, computes per-well slopes over the selected window, and reports the reduced values with their replicate statistics, so the numbers entering your fit are traceable.
Step 2: choose the substrate range around Km
A kinetics experiment can only estimate what its design allows. If your highest substrate is 2×Km, Vmax is an extrapolation and its confidence interval will be enormous.
A workable design:
- Span roughly 0.2×Km to 10×Km, logarithmically spaced, 7-10 concentrations.
- Run a pilot experiment first if Km is unknown; a rough estimate from a wide log series is enough to design the real run.
- Use at least duplicates, ideally triplicates, at every concentration, and include a no-enzyme blank at each substrate level to correct for non-enzymatic hydrolysis.
If saturation is genuinely unreachable — poor substrate solubility, substrate inhibition — say so and report kcat/Km from the linear low-substrate regime instead of pretending Vmax was measured.
Step 3: fit non-linearly, never Lineweaver-Burk
The double-reciprocal Lineweaver-Burk plot (1/v vs 1/[S]) was invented for a world without computers. It is still useful as a diagnostic picture, but it is a poor estimator:
- Taking reciprocals compresses high-substrate points and inflates low-substrate ones, so the least reliable measurements dominate the slope.
- Errors become non-normal, invalidating ordinary least squares.
- Eadie-Hofstee and Hanes-Woolf transforms distribute the distortion differently but do not remove it.
Fit the untransformed hyperbola by non-linear least squares. Report Km and Vmax with 95 % confidence intervals, not just point estimates — a Km of "42 µM" means little without knowing whether the interval is 38-46 or 12-150 µM.
Step 4: check the fit before you trust it
R² alone is not a verdict; a hyperbola fits almost anything that rises and flattens. Look at:
| Check | What good looks like |
|---|---|
| Residual plot | Random scatter around zero, no systematic curvature |
| Km confidence interval | Narrow, entirely positive, contained within the tested range |
| Vmax vs highest measured v | Highest v reaches ~80-90 % of fitted Vmax |
| Replicate CV | Typically < 10 % at mid-range substrate |
| High-substrate points | No downturn (see below) |
A downturn at high substrate is not noise — it is substrate inhibition, and it needs the appropriate model:
v = Vmax * [S] / (Km + [S] * (1 + [S]/Ki))
Forcing plain Michaelis-Menten onto such data biases Km upwards and Vmax downwards, sometimes severely.
Step 5: inhibition, if that is the question
When the goal is characterising an inhibitor, fit the substrate series at several inhibitor concentrations and compare parameter shifts:
- Competitive — apparent Km rises, Vmax unchanged.
- Uncompetitive — Vmax falls, Km falls proportionally (Vmax/Km constant).
- Non-competitive / mixed — Vmax falls, Km may shift either way.
Report Ki from a global fit across all inhibitor levels rather than from separate independent fits; global fitting uses the shared parameters and gives far tighter intervals. Note also that an IC50 from a single-substrate screen is not a Ki — it depends on the substrate concentration used, which is why IC50 values are only comparable within one assay format. See our IC50 vs EC50 guide for the related distinction.
Reporting checklist
Include all of this in a methods section and reviewers will rarely push back:
- Buffer, pH, temperature, ionic strength, and any cofactors
- Enzyme concentration (and how active enzyme was quantified)
- Substrate range and number of concentrations
- Detection wavelength, path length, extinction coefficient used
- Time window over which initial rates were fitted
- Model fitted, fitting method (non-linear least squares, weighting scheme)
- Km, Vmax, kcat, kcat/Km — each with 95 % CI and units
- Number of independent biological replicates, not just technical ones
Common pitfalls in one place
- Using endpoint absorbance as a proxy for rate.
- Fitting slopes across curved, substrate-depleted regions.
- Substrate range topping out below Km, so Vmax is unidentifiable.
- Estimating parameters from Lineweaver-Burk regression.
- Reporting Km without a confidence interval.
- Ignoring a high-substrate downturn.
- Omitting the blank correction for non-enzymatic background.
- Quoting kcat when active enzyme concentration was never determined.
Where Labreador fits
Labreador runs entirely in your browser — plate data never leaves your machine. For enzyme kinetics the practical entry point today is the Kinetic Analysis module, which imports plate-reader time-course exports, extracts per-well initial rates over a window you control, and gives replicate statistics and group comparisons you can export for reporting. Dose-response style non-linear fitting with confidence intervals lives in the Dose-Response module, and the full computational methodology is documented on the Methods page.
Get the rates right, design the substrate range around Km, fit the hyperbola you actually measured — and your kinetic constants will hold up.
