ForHosting KIT · Science

OD600 to CFU calculator

Turn a spectrophotometer reading into a viable cell estimate: an OD600 of 0.5 with a factor of 8 × 10⁸ CFU/mL per OD unit gives 4 × 10⁸ CFU/mL. Add the dilution when the cuvette held a diluted sample. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Od600
0.5
Factor
800,000,000
You get
Dilution
1
Cfu per ml
400,000,000
Cfu scientific
4e8

Microbiology labs estimate culture density from spectrophotometer readings at six hundred nanometers, then convert that optical density into viable colony forming units per milliliter using an organism- and setup-specific factor. This OD600 to CFU calculator multiplies a non-negative OD600 by your conversion factor in CFU per milliliter per OD unit, optionally scales by a dilution factor when the cuvette sample was diluted before measurement, and returns both a full numeric CFU per milliliter value and a compact scientific-notation string for lab notebooks.

What OD600 to CFU conversion means in the lab

Optical density at six hundred nanometers is a bulk turbidity measurement: more cells and debris scatter more light, so the spectrophotometer reports a higher OD600 as a culture thickens. Colony forming units per milliliter count only viable cells that can form colonies on plates, which is the quantity you need for inoculum planning, challenge studies, and quality release. Those two numbers are related but not identical: dead cells, media particles, and chain-forming morphology all affect turbidity without matching plate counts one-to-one.

Labs therefore establish a conversion factor—CFU per milliliter per OD unit—by calibrating plate counts against OD600 under fixed strain, medium, temperature, path length, and instrument settings. A widely cited Escherichia coli rule of thumb near eight times ten to the eighth CFU per milliliter per OD unit is only a starting guess; your factor may differ by strain and spectrophotometer.

Once you have a factor, the estimate is simple multiplication: CFU per milliliter equals OD600 times factor, and if the OD was taken on a diluted aliquot you multiply again by the fold dilution so the result refers to the undiluted culture. This capability does not invent a universal microbial constant; it applies your stated factor deterministically so growth-curve software, LIMS fields, and student homework share one contract.

Workflows, limits, and related search intent

Teaching labs can fix factor to a textbook value so students focus on reading OD and applying dilution math. Limits: this tool does not replace plate counts, flow cytometry, or qPCR; it multiplies the numbers you supply. It does not correct for non-linear OD at high density—dilute into the linear range and pass the dilution factor instead of trusting OD above roughly one without calibration.

It is not a growth-rate fitter, not a Beer–Lambert path-length converter, and not a dry-weight estimator, though those workflows often sit next to OD600 to CFU conversion in lab notebooks. Search intent for this landing includes OD600 to CFU calculator, optical density to colony forming units, viable cell concentration from OD, and CFU per milliliter conversion factor online.

Growth curves and inoculum planning

Convert each OD600 time point with your strain-specific factor (and dilution when needed) into CFU/mL for log-phase harvest targets and reproducible inoculum sizes.

Bioreactor and LIMS logging

Pipe spectrophotometer OD readings into automated viable-cell estimates using a fixed conversion factor stored per organism and medium in manufacturing or QC pipelines.

Teaching OD versus plate counts

Show students how turbidity maps to CFU/mL only through a calibrated factor, and how a 1:10 dilution multiplies the estimated undiluted titer by ten.

How do I convert OD600 to CFU/mL?

Send non-negative od600 and a positive factor (CFU/mL per OD unit).

What conversion factor should I use?

Use a factor calibrated for your organism, medium, and spectrophotometer. Common E. coli rules of thumb near 8×10^8 CFU/mL per OD are only starting points—not universal constants.

When do I set the dilution field?

When the OD600 was measured on a diluted aliquot. For a 1:10 dilution set dilution to 10 so the result estimates the undiluted culture. Leave it at 1 for undiluted samples.

Why does the calculator refuse a negative OD600?

A negative reading usually means a bad blank or the wrong wavelength, not a negative number of cells, so the value is rejected instead of being silently flipped. Re-blank the spectrophotometer and measure again.

Can an OD600 estimate replace a plate count?

No. Turbidity also picks up dead cells and media particles, so the result is only as good as your calibration factor. The tool multiplies the numbers you supply; plate counts, flow cytometry or qPCR remain the reference.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/bio/od-to-cfu

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/bio/od-to-cfu \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"od600":0.5,"factor":800000000}'
{
  "od600": 0.5,
  "factor": 800000000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "bio.od_to_cfu",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Negative optical density, non-positive factor, and non-positive dilution fail with invalid_input instead of inventing a titer.

What OD600 to CFU conversion means in the lab

Blank-corrected OD should already be non-negative before you call the API; negative readings are rejected as invalid rather than absolute-valued silently, because a negative OD usually means a bad blank or wrong wavelength, not a negative cell density.

Input contract, response fields, and validation

Example: OD600 zero point five with factor eight hundred million and dilution one yields four hundred million CFU per milliliter; the same OD on a one-to-ten diluted cuvette with dilution ten yields four billion CFU per milliliter for the undiluted stock. Keep factor and OD on the same instrument path length; mixing cuvettes of different path lengths without renormalizing OD will mis-scale CFU estimates even when the arithmetic is correct. POST a JSON body with required od600 as a finite non-negative number—aliases include od, optical_density, absorbance, and a600—and required factor as a finite positive conversion in CFU per milliliter per OD600 unit, with aliases conversion_factor, cfu_per_od, cfu_factor, k, and cells_per_od. Optional dilution defaults to one for undiluted measurements; when present it must be a finite positive fold dilution (aliases dilution_factor, df, fold_dilution, dil). On success the response echoes od600, factor, and dilution with stable twelve-decimal rounding, plus cfu_per_ml as the primary numeric result, cfu_scientific as a compact scientific string for large titers, formula restating whether dilution was unity or not, and message as a short English summary. Missing fields, non-finite strings, boolean types, negative OD600, non-positive factor, and non-positive dilution fail with invalid_input and are not billed. Pricing for successful work is a flat $0.002 with unit item.

Workflows, limits, and related search intent

Typical workflow: blank the spectrophotometer with sterile medium, measure OD600 of a well-mixed culture or a known dilution, enter your calibrated factor, set dilution when the cuvette was diluted, and log cfu_per_ml or cfu_scientific next to the time point. Bioreactor scripts can call the API after each OD sample to fill viable-cell estimates without embedding organism tables in every service. Failed validation does not consume prepaid balance, so exploratory scripts that probe empty factors stay cheap. Round-trip checks are straightforward: recompute od600 times factor times dilution and confirm equality with cfu_per_ml within published rounding, then confirm that a negative OD flips the response from success to invalid_input with a clear field message.

Why was my request rejected?

Negative OD600, non-positive factor or dilution, missing fields, or non-finite values fail with invalid_input and are not billed.

What does the OD600 to CFU calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →