About this calculator

What it does

Cell Counting and Seeding turns a hemocytometer count into a concentration, a viability, a total number of cells and the volumes to seed. You count live and dead cells in the squares of one chamber loading, say which chamber, which square and how the cells were diluted, and the page gives cells/mL for live, dead and all cells, viability with its method named, total cells, and the Poisson counting CV on the live count. Give a target density in cells per mL of final culture volume and it gives the volume of suspension and the volume of medium to seed. A split by ratio gives the transfer volume and the fresh medium. Every step is shown with your own numbers.

How to use it

  1. Click "Load worked example" to fill the inputs with an example (invented counts, labelled as such). The example leaves two choices to you, the border rule and the sample source, because they describe your own practice and sample. Make them, and watch each line of the arithmetic.
  2. Choose the chamber: Improved Neubauer, Fuchs-Rosenthal, or Other chamber, where you type the square area (mm²) and depth (mm) engraved on or measured for your chamber. Read the depth on your own chamber and confirm it against the preset. Nothing is chosen for you.
  3. Choose the square you counted. We ask because the same count means a different concentration in a different square: the square's volume sets the answer.
  4. Choose the border rule: cells touching the top and left lines counted and bottom and right excluded, or your lab's own rule.
  5. Enter the dilution as "1 part cell suspension in ___ parts total". Equal parts of dye and cells is 1 part in 2 parts total, a factor of 2. We ask because the dye dilutes the cells: leave it out and the concentration reads too low by that factor; apply it twice and it reads too high by the same factor.
  6. Choose the viability method (trypan blue, AO/PI, or a flow viability dye with its name). We ask because "live" and "dead" are defined by the method that sorted the cells, so a viability is only complete with its method.
  7. Say whether your suspension volume was measured before or after you took the counting sample, and enter it. We ask because cells taken out for counting are no longer in the suspension: if your volume was measured before you took them, the cells left are concentration times the smaller, remaining volume.
  8. Choose the sample source. It is a record, printed in the header of every export. Nothing is computed differently for any source.
  9. Enter the live and dead count for each square counted. One chamber loading per calculation: counts from separate loadings or chambers are replicates, so enter each as its own calculation.
  10. Enter a target density (cells per mL of final culture volume) and the final volume to seed, or a split ratio and the new vessel's volume.
  11. Open "Show the working" to see every relation with your numbers, and export notebook text, CSV or JSON.

How it works

Every relation is computed at full precision and rounded only for display. Concentrations and totals show 3 significant figures, viability 1 decimal place, the counting CV 2 decimal places, volumes 3 significant figures, and the square volume its exact decimal.

StepRelation
Strength factorf = parts total, for "1 part cell suspension in P parts total"
Square volumeV_sq (µL) = square area A (mm²) × chamber depth d (mm), because 1 mm³ = 1 µL
Mean per squareThe sum of the live counts divided by the number of squares counted; the same for dead
Live cells/mLmean live per square × f × 1000 ÷ V_sq (µL), because 1 mL = 1000 µL
Dead cells/mLThe same arithmetic applied to the cells counted as dead. It is not a separately published formula.
All cells/mLlive + dead
Viability (method)live counted ÷ (live + dead) counted × 100
Total cellscells/mL × suspension volume (mL), as live cells and as all cells; if the volume was measured before the counting sample, also the live cells remaining after it
Poisson counting CV100 ÷ √N, N = the sum of the live counts across all squares
Seedingcells needed = target density × final volume; suspension = cells needed ÷ live cells/mL; medium = final volume minus suspension
Split by ratiotransfer = new vessel volume ÷ N; fresh medium = new vessel volume minus transfer. It uses volumes only; it does not use your count.

Constants the chamber presets use:

ChamberDepthSquaresWhere it comes from
Improved Neubauer0.1 mm1, 0.0625, 0.05, 0.04 or 0.0025 mm²; the large square holds 0.1 µLWikipedia, "Hemocytometer"
Fuchs-Rosenthal0.2 mmlarge square 1 mm² (0.2 µL); small square 0.0625 mm² (0.0125 µL)MSF catalogue: depth 0.2 mm and 0.2 µL per square. The 1 mm² area (0.2 µL ÷ 0.2 mm) and the small-square reading are derived; see below.
Other chamberas you type itas you type itChamber dimensions entered by you; this page has no preset for this chamber.

The preset fills the depth only, and you can edit it. The MSF catalogue lists a 0.0625 mm² surface but does not say what it is; this page reads it as the 0.25 × 0.25 mm sub-square, which is a derivation, not MSF's claim. Fuchs-Rosenthal squares differ 16-fold in volume. Illustration (invented counts): the same count, 90 cells in one square with 1 part cell suspension in 2 parts total, gives 9.00 × 105 cells/mL in the large square and 1.44 × 107 cells/mL in the small one.

The × 104 line. The page always computes from the square's volume, and has no × 104 option. Beside each concentration, "Show the working" says whether × 104 would give the same answer: it does only if the square holds exactly 0.1 µL. Otherwise it says by how many fold × 104 would be too high or too low, or, if the difference is under 0.5 %, says that. For example, × 104 would be 25-fold low on a 0.04 mm² Improved Neubauer square and 2-fold high on a Fuchs-Rosenthal large square.

The counting CV. If cell positions are random (Poisson), counting alone gives a CV of about 1/√N. Illustration (invented counts): for 100 live cells counted, 10.00 %. This is the counting error only; pipetting, dilution and chamber loading add their own.

The engine version is printed in "Show the working" and in every export. Results from different engine versions are not comparable.

Read the code.

Why not a spreadsheet?

  • Every assumption is a recorded choice: chamber, square, border rule, dilution, viability method and sample source have no default, and no result appears until they are chosen.
  • Units travel with the numbers, and each conversion is printed (1 mm³ = 1 µL; 1 mL = 1000 µL).
  • Rounding happens once, on display. The CSV and JSON exports carry the unrounded values beside the displayed ones.
  • Flags say in words what to check, for example when a dye is named but the dilution is 1 part in 1 part total, or when you counted later than the time limit you set yourself.
  • The same inputs always give the same outputs, and each export records the declarations, the constants with their sources and the engine version.

What it does not do

  • It does not work with automated counters, and has no counter mode.
  • It does not give bead-based absolute counts.
  • It has no Bürker preset: use Other chamber with the dimensions engraved on yours.
  • It does not compute population doublings.
  • It gives no optimal-density advice.
  • It does not review the record.
  • It does not detect clumps, debris or bad loading.
  • It does not judge your viability against any threshold.
  • It does not check your counts per square against a range.
  • It does not judge whether a count, a viability value or a culture is acceptable; that judgement is yours.
  • It is not for counting cells in blood, body fluids or other specimens taken from a person.
  • It seeds by cells per mL of final culture volume only. Seeding by cells per cm² of growth area is not in this version.
  • It is a research calculation, not a batch record: the exports are a count record you transcribe, and carry no electronic signature or audit trail.
  • Not in this version: the printable bench sheet and the seeding and passage record (cell line, passage number, per-cm² seeding). They come in the next release.