Independent and not affiliated with the FDA, MHRA, ISPE, PDA, or any agency. Get the appgoutham@madhadi.com
madhadi.comData Integrity & GxP Quality
Browse all topics → Articles Templates & Procedures Learning paths GlossaryScenariosToolsRegulatory ReferencesLearning PathsTopics About Start here
Form Plug-and-play starting point Sterility & Microbiology

Worksheet: Endotoxin Limit and Maximum Valid Dilution Calculation

A per-product calculation sheet for the endotoxin limit and maximum valid dilution: K, M, dose basis, body weight, product concentration and lambda, with the arithmetic shown, a second-person verification block, and three fully worked specimens covering a weight-based injectable, a large-volume parenteral, and an intrathecal product.

Document type: Form

Read and copy the template below into your own quality system. It is a generic starting point for your own internal use, provided as is, with no warranty; see the Terms and License. Adopting it does not by itself create compliance.

This is a ready-to-use calculation worksheet for the two numbers that govern every endotoxin release test on a product: the endotoxin limit and the maximum valid dilution. It is completed once per product and strength, verified by a second person, approved, and then locked into the test method so analysts read the values rather than recompute them. Arithmetic error at this step is the most common release error in this area, which is why the verification block is not optional. Replace every <<FILL: ...>> placeholder. Three worked specimens follow. This is educational reference content, not regulatory advice; confirm the values against the current compendial chapter and your own filing.

FieldEntry
Worksheet number<<FILL: FORM-ID>>
Product name and code<<FILL>>
Strength / presentation<<FILL>>
Route of administration<<FILL: IV / IM / SC / intrathecal / other>>
Compendial basis<<FILL: USP <85> / USP <86> / Ph. Eur. 2.6.14 (Method G for recombinant Factor C; chapter 2.6.32 is being suppressed from 1 January 2027)>>
Test method document<<FILL: method ID and version>>
Supersedes<<FILL: prior worksheet version or "New">>
Reason for issue or re-issue<<FILL: new product / dose change / strength change / lysate sensitivity change>>

The rules (read before filling)

  • Endotoxin limit = K / M.
    • K is the threshold pyrogenic dose per kilogram of body weight per hour. Use 5 EU/kg for parenteral routes (intravenous, intramuscular, subcutaneous) and 0.2 EU/kg for intrathecal products. The intrathecal value is 25 times tighter; using 5 EU/kg for an intrathecal product is a recurring and serious error.
    • M is the maximum recommended human dose per kilogram of body weight per hour, expressed on the same basis as K.
  • Body weight is 70 kg unless the product is intended for a defined smaller population, in which case use the weight for that population and record the justification. Body weight only enters the arithmetic when the maximum dose is expressed as a total dose rather than per kg. If the dose is already stated per kg, M is that number and body weight cancels out.
  • Fixed compendial limits override the K/M derivation where they apply. Large-volume parenterals administered by volume carry a limit of 0.5 EU/mL. Water for Injection carries 0.25 EU/mL. Where a monograph states a limit for the product, that limit governs.
  • MVD = (endotoxin limit x product concentration) / lambda. Two equivalent forms:
    • Endotoxin limit in EU per mg, product concentration in mg per mL, lambda in EU per mL.
    • Endotoxin limit already expressed in EU per mL, divided by lambda, which is the same calculation with concentration set to the undiluted product.
  • Round MVD down, never up, and then choose a practicable routine dilution at or below it. Testing above MVD means a result at the limit could not have been detected, so a negative result carries no information.
  • lambda is method-specific and lot-specific. A change of lysate sensitivity changes MVD and requires this worksheet to be re-issued.
  • Out of scope: combination products with a device fluid path, where the endotoxin limit is expressed per device and per mL of rinse or extract under USP <161> rather than derived from K and M. Handle those on a separate sheet. See bioburden and bacterial endotoxin testing.

Step 1: Inputs

InputSymbolEntrySource
Threshold pyrogenic doseK<<FILL: 5 EU/kg or 0.2 EU/kg>>Route of administration
Route justification for K<<FILL>><<FILL: label / protocol / filing section>>
Maximum human dose, as labelled<<FILL: e.g. 10 mg/kg per hour, or 12 mg total per administration>><<FILL: SmPC / prescribing information / IB>>
Dose basis<<FILL: per kg / total dose / by volume>>
Body weight used<<FILL: 70 kg, or defined population weight>><<FILL: justification if not 70 kg>>
Maximum dose per kg per hourM<<FILL: mg/kg>>Calculated in Step 2 if total dose
Product concentrationC<<FILL: mg/mL>><<FILL: specification>>
Lysate sensitivitylambda<<FILL: EU/mL>><<FILL: lysate lot certificate>>
Fixed compendial limit applicable?<<FILL: none / LVP 0.5 EU/mL / WFI 0.25 EU/mL / monograph value>>

Step 2: Convert the dose to M (only if the label states a total dose)

Where the maximum dose is a total dose rather than a per-kg dose:

M = total dose / body weight = <<FILL: total dose>> / <<FILL: body weight>> = <<FILL: mg/kg>>

Where the label already states the dose per kg, enter that value directly as M and write “per kg dose, no conversion required” here.

Step 3: Endotoxin limit

Endotoxin limit per mg = K / M = <<FILL: K>> / <<FILL: M>> = <<FILL: EU/mg>>

Endotoxin limit per mL = (endotoxin limit per mg) x C = <<FILL: EU/mg>> x <<FILL: mg/mL>> = <<FILL: EU/mL>>

Where a fixed compendial limit applies instead, record it here and state the basis: <<FILL: e.g. 0.5 EU/mL, large-volume parenteral>>.

Cross-check (perform this every time). Total endotoxin permitted per maximum dose = K x body weight = <<FILL>> EU. Divide by the volume administered at the maximum dose: <<FILL>> EU / <<FILL>> mL = <<FILL>> EU/mL. This must agree with the endotoxin limit per mL above. A disagreement means a unit or a dose basis is wrong.

Step 4: Maximum valid dilution

MVD = (endotoxin limit x product concentration) / lambda

MVD = (<<FILL: EU/mg>> x <<FILL: mg/mL>>) / <<FILL: lambda EU/mL>> = <<FILL: unrounded>>

MVD rounded down = <<FILL: whole number>>

Routine test dilution selected = <<FILL>> (must be at or below MVD, and must be the dilution at which method suitability was demonstrated)

Headroom between routine dilution and MVD = <<FILL>> (this is the room available to resolve interference by further dilution)

Step 5: Locked outputs

These values are transcribed into the test method and are not recalculated at the bench.

Locked valueEntry
Endotoxin limit (EU/mL)<<FILL>>
Endotoxin limit (EU/mg, if applicable)<<FILL>>
lambda and lysate lot basis<<FILL>>
MVD<<FILL>>
Routine test dilution<<FILL>>
Method suitability report reference<<FILL>>
Test method updated (document and version)<<FILL>>
Re-issue triggersDose change, strength change, route change, population change, lambda change, monograph change

Verification and approval

Arithmetic here reaches a release decision without passing through an instrument that would catch an error. An independent second person recalculates every line from the inputs rather than checking the transcription.

RoleNameSignatureDate
Calculated by<<FILL>>
Verified by (independent recalculation from source inputs)<<FILL>>
Method owner review<<FILL>>
QA approval<<FILL>>

Verifier statement: I recalculated K, M, the endotoxin limit, and the MVD from the source documents named in Step 1, confirmed the cross-check in Step 3 agrees, and confirmed the routine dilution is at or below MVD.


Filled specimen

Three worked cases. Company, product, and numbers are illustrative; replace them with your own.

Specimen A: small-volume injectable dosed per kilogram

A monoclonal antibody drug product for intravenous infusion. Label maximum dose 10 mg/kg per hour. Product concentration 25 mg/mL. Kinetic chromogenic assay with lambda 0.005 EU/mL.

StepWorking
K5 EU/kg (intravenous route)
Dose basisPer kg, so M = 10 mg/kg per hour, no body weight conversion needed
Endotoxin limit per mg5 EU/kg / 10 mg/kg = 0.5 EU/mg
Endotoxin limit per mL0.5 EU/mg x 25 mg/mL = 12.5 EU/mL
Cross-checkAt 70 kg the maximum dose is 700 mg per hour, which is 700 / 25 = 28 mL. Permitted endotoxin = 5 x 70 = 350 EU. 350 EU / 28 mL = 12.5 EU/mL. Agrees.
MVD(0.5 EU/mg x 25 mg/mL) / 0.005 EU/mL = 12.5 / 0.005 = 2500
Routine dilution1:100, well inside MVD, with large headroom for interference resolution

The headroom here is generous. A product with a 12.5 EU/mL limit and a sensitive photometric reagent can be diluted a long way before the assay loses the ability to see the limit, which is why photometric methods rarely run into interference that dilution cannot fix on this kind of product.

Specimen B: large-volume parenteral

Sodium chloride injection 0.9 percent, 1000 mL infusion bag, administered by volume rather than by weight-based dose. Gel-clot lysate with lambda 0.125 EU/mL.

StepWorking
K / M derivationNot used. The product is a large-volume parenteral administered by volume, so the fixed compendial limit applies.
Endotoxin limit0.5 EU/mL (large-volume parenteral)
Product concentrationThe limit is already expressed per mL of the product as supplied, so concentration is taken as the undiluted product
MVD0.5 EU/mL / 0.125 EU/mL = 4
Routine dilution1:2, leaving one further doubling of headroom before MVD

Two points this case teaches. First, the MVD is small, so there is almost no room to dilute out interference; if the matrix interferes, dilution will not rescue it and a different reagent or method is needed. Second, if the same product were tested with a less sensitive gel-clot lysate at lambda 0.25 EU/mL, MVD would fall to 2, and at lambda 0.5 EU/mL it would fall to 1, meaning the product could only be tested neat. Lysate sensitivity is not a laboratory convenience on a product like this; it decides whether the test can be run at all.

For comparison, Water for Injection carries a limit of 0.25 EU/mL. With the same 0.125 EU/mL lysate, MVD = 0.25 / 0.125 = 2.

Specimen C: intrathecal product

An antisense oligonucleotide administered intrathecally at a fixed maximum dose of 12 mg per administration. Product concentration 2.4 mg/mL, so the maximum dose is a 5 mL volume. Gel-clot lysate with lambda 0.03 EU/mL. Adult population, so 70 kg applies.

StepWorking
K0.2 EU/kg (intrathecal route, not 5)
Dose basisTotal dose of 12 mg, so conversion to M is required
M12 mg / 70 kg = 0.1714 mg/kg
Endotoxin limit per mg0.2 EU/kg / 0.1714 mg/kg = 1.167 EU/mg
Endotoxin limit per mL1.167 EU/mg x 2.4 mg/mL = 2.8 EU/mL
Cross-checkPermitted endotoxin per dose = 0.2 x 70 = 14 EU. Volume at maximum dose = 12 / 2.4 = 5 mL. 14 EU / 5 mL = 2.8 EU/mL. Agrees.
MVD(1.167 EU/mg x 2.4 mg/mL) / 0.03 EU/mL = 2.8 / 0.03 = 93.3, rounded down to 93
Routine dilution1:40, inside MVD

Two errors this specimen is designed to catch. If K had been taken as 5 EU/kg instead of 0.2, the limit would have come out at 70 EU/mL, twenty-five times too permissive, and the product could have been released with an endotoxin load well above what an intrathecal route tolerates. And the MVD of 93.3 must be rounded down to 93; rounding up to 94 would put the routine dilution outside the range where the limit is detectable.

If the same product were intended solely for a defined paediatric population, both M and the body weight would be re-derived for that population and the limit recalculated, with the population and its weight basis recorded in Step 1. Do not carry an adult calculation into a paediatric indication.

Common inspection findings this worksheet prevents

  • The wrong K used for the route, most often 5 EU/kg applied to an intrathecal product.
  • Body weight applied to a dose that was already expressed per kilogram, halving or doubling the limit.
  • MVD rounded up rather than down, so the routine dilution sits above the maximum valid dilution.
  • Testing performed at a dilution beyond MVD and a negative result reported as a pass.
  • The endotoxin limit and MVD recalculated by each analyst at the bench, with no single approved and verified source value.
  • The limit not re-derived after a dose, strength, or population change, so the method still carries the value for a superseded label.
  • A lysate lot with a different labelled sensitivity put into use without recalculating MVD.
  • No independent verification of the arithmetic behind a number that gates batch release.

How to adapt this worksheet

  1. Complete one worksheet per product and strength, and re-issue it whenever any input in Step 1 changes.
  2. Take K from the route, not from habit, and record where the route and the maximum dose came from so a reviewer can trace them to the label or the protocol.
  3. Perform the Step 3 cross-check every time. It is the cheapest available test of whether the dose basis and units are right.
  4. Set the routine dilution from the method suitability work, not from the MVD alone; MVD is a ceiling, not a target.
  5. Transcribe the locked outputs into the test method and reference this worksheet number there, so the bench procedure and this calculation cannot drift apart.
  6. Require independent recalculation, not a transcription check, before approval.
  7. Confirm the fixed limits and the K values against the current compendial chapter and your own filing before issue.
Use madhadi.com as an app Full screen, works offline, one tap from your home screen.