Chemical Oxygen Demand Calculator (COD)

Quick answer

The chemical oxygen demand calculator works out the COD of a water or wastewater sample from a dichromate titration – the ferrous ammonium sulfate (FAS) volumes used for the blank and the sample, the FAS molarity and the sample volume – with an optional dilution factor and daily COD load.

Chemical oxygen demand (COD)
140
Dichromate consumed by the sample
0.875 mmol e⁻ (meq)
Oxygen equivalent in the refluxed sample
7 mg O₂
COD load
120.96
Check
Titration within the usual working range
Typical water type with this COD
Range of raw municipal wastewater (about 100–1,000 mg/L)

Chemical oxygen demand measures how much oxygen would be needed to oxidise all the organic matter (and some oxidisable inorganic species) in a water sample. It is one of the most common tests in wastewater treatment because it takes about three hours, compared with five days for biochemical oxygen demand (BOD), and it captures organic compounds that microbes break down slowly or not at all.

In the standard dichromate method the sample is refluxed for two hours at 150 °C with a known excess of potassium dichromate in strong sulfuric acid, with silver sulfate as a catalyst and mercury sulfate to tie up chloride. Organic carbon reduces some of the Cr(VI) to Cr(III). The dichromate that is left is then titrated with ferrous ammonium sulfate (FAS) using ferroin indicator, which turns from blue-green to reddish-brown at the end point.

A blank of distilled water goes through the same procedure. The difference between the FAS used for the blank and for the sample corresponds to the dichromate consumed by the sample; each mole of FAS represents one mole of electrons, which is a quarter of a mole of O₂ or 8,000 mg of oxygen per equivalent – hence the factor 8,000.

How to use the Chemical Oxygen Demand Calculator

  1. FAS used for the blank (A)
  2. FAS used for the sample (B)
  3. Molarity of the FAS titrant
  4. Volume of sample refluxed
  5. Dilution factor (1 = undiluted)
  6. Flow rate of the water stream (optional)

Results update as you type, every field has its own unit menu, and everything is calculated in your browser.

How it works

Enter the FAS volumes for the blank and the sample, the FAS molarity and the volume of sample refluxed. If you diluted the sample before analysis, enter the dilution factor. A flow rate turns the concentration into a mass load per day for treatment-plant design or permits.

Worked example

A 50.0 mL wastewater sample is refluxed with dichromate. Back-titrating the blank takes 12.00 mL of 0.250 M FAS and the sample takes 8.50 mL. The sample consumed (12.00 − 8.50) × 0.250 = 0.875 meq of oxidant, equivalent to 0.875 × 8 = 7.00 mg of O₂. COD = (12.00 − 8.50) × 0.250 × 8,000 / 50.0 = 140 mg/L. If this stream flows at 10 L/s, the COD load is 140 mg/L × 10 L/s × 86,400 s/day = 121 kg of COD per day.

How to interpret the result

COD on its own says how much oxidisable material is present, not how harmful it is. Compare it with BOD to judge biodegradability, with permit limits for discharge, and use the COD load (kg/day) to size aeration and anaerobic digestion – roughly 0.35 m³ of methane can be produced per kg of COD removed at standard conditions.

Tips

  • Count halogens like hydrogens and ignore oxygen and sulfur in degree-of-unsaturation formulas.
  • Balance combustion with O₂ last – it is the easiest to adjust.
  • Use dry mass for combustion analysis and protein content.
  • Everything is calculated in your browser.

Common mistakes to avoid

  • Counting nitrogen like a hydrogen in degree of unsaturation (it subtracts one H).
  • Forgetting that one mole of CO₂ contains one mole of C.
  • Using the wrong Kjeldahl factor (6.25 is generic).

Inputs explained

Field What to enter
FAS used for the blank (A) Units: mL, L, µL
FAS used for the sample (B) Units: mL, L, µL
Molarity of the FAS titrant Units: mol/L (M), mmol/L (mM), µmol/L (µM), nmol/L (nM), mol/m³
Volume of sample refluxed Units: mL, L, µL
Dilution factor (1 = undiluted) A number
Flow rate of the water stream (optional) Units: L/s, L/min, L/h, m³/h, m³/day, mL/min …

What each result means

  • Chemical oxygen demand (COD) = ([FAS used for the blank (A)] – [FAS used for the sample (B)])×[Molarity of the FAS titrant]×8000×[Dilution factor (1 = undiluted)]÷[Volume of sample refluxed]
  • Dichromate consumed by the sample = ([FAS used for the blank (A)] – [FAS used for the sample (B)])×[Molarity of the FAS titrant]
  • Oxygen equivalent in the refluxed sample = ([FAS used for the blank (A)] – [FAS used for the sample (B)])×[Molarity of the FAS titrant]×8
  • COD load = [Chemical oxygen demand (COD)]×[Flow rate of the water stream (optional)]×86400÷1e6

Example values

How the main result changes when FAS used for the blank changes and everything else stays at the example values above:

FAS used for the blank (A) (mL) Chemical oxygen demand (COD) (mg/L)
6 -100
9 20
12 140
15 260
18 380
24 620

Formula

COD (mg O₂/L) = (A − B) × M × 8000 × DF ÷ V_sample · A = FAS for the blank (mL), B = FAS for the sample (mL), M = FAS molarity (mol/L), V in mL · load (kg/day) = COD × Q × 86.4 (Q in L/s)

Worked example

Inputs — FAS used for the blank (A): 12 mL; FAS used for the sample (B): 8.5 mL; Molarity of the FAS titrant: 0.25 mol/L (M); Volume of sample refluxed: 50 mL; Dilution factor (1 = undiluted): 1; Flow rate of the water stream (optional): 10 L/s.
Results — Chemical oxygen demand (COD) = 140 mg/L; Dichromate consumed by the sample = 0.875 mmol e⁻ (meq); Oxygen equivalent in the refluxed sample = 7 mg O₂; COD load = 120.96 kg/day; Check = Titration within the usual working range; Typical water type with this COD = Range of raw municipal wastewater (about 100–1,000 mg/L).

Key terms

COD
Mass of oxygen equivalent to the oxidant consumed by a sample, mg O₂/L.
FAS
Ferrous ammonium sulfate, Fe(NH₄)₂(SO₄)₂·6H₂O – the titrant that reduces leftover dichromate.
Ferroin
Indicator complex of iron and 1,10-phenanthroline that changes colour at the titration end point.
Blank
Distilled water taken through the whole procedure to correct for reagent impurities.
BOD₅
Biochemical oxygen demand over 5 days at 20 °C.

Frequently asked questions

What is a typical COD for wastewater?

Untreated domestic sewage usually has 250–800 mg/L; well-treated effluent is often below 50–125 mg/L (the EU Urban Waste Water Treatment Directive limit is 125 mg/L). Clean rivers have only a few to about 20 mg/L.

Why is the factor 8,000?

One equivalent of oxidant corresponds to ¼ mol of O₂ = 8 g = 8,000 mg of oxygen. With FAS molarity in mol/L and volumes in mL, (A − B) × M gives milliequivalents, × 8 gives mg O₂, and dividing by the sample volume in litres (V/1000) gives mg/L.

What is the difference between COD and BOD?

BOD measures the oxygen microbes use in 5 days to degrade organic matter; COD measures what a strong chemical oxidant can oxidise. COD is always higher. A BOD/COD ratio above about 0.5 means the waste is readily biodegradable; below 0.3 it is not.

Why is a blank needed?

Some dichromate is consumed by impurities in the reagents and the water. Running a blank through the same procedure cancels that out.

Why must the FAS be standardised every day?

Ferrous iron is slowly oxidised by air, so its molarity drops. It is titrated against the standard dichromate before each batch.

What interferes with the COD test?

Chloride is oxidised by dichromate and would raise the COD; mercury(II) sulfate is added to complex it. Nitrite, ferrous iron and sulfide also consume dichromate.

What happens if the sample is too concentrated?

If more than about half the dichromate is used, there may not be enough left to oxidise everything. Dilute the sample, repeat, and enter the dilution factor.

Sources

  1. Standard Methods for the Examination of Water and Wastewater – 5220 Chemical oxygen demand
  2. US EPA – Clean Water Act analytical methods
  3. US EPA – Water research and drinking water

Cite this calculator

Speedy Calculator. (2026). Chemical Oxygen Demand Calculator (COD). Speedy Calculator. https://speedycalculator.com/calculators/chemistry/chemical-oxygen-demand/