{"id":66905,"date":"2026-10-13T10:10:51","date_gmt":"2026-10-13T07:10:51","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=66905"},"modified":"2026-10-13T10:10:51","modified_gmt":"2026-10-13T07:10:51","slug":"chemical-oxygen-demand-calculator","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/chemistry\/chemical-oxygen-demand-calculator\/","title":{"rendered":"Chemical Oxygen Demand Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Find COD from a Blank and Sample Titration<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"66905\" data-favorite-title=\"Chemical Oxygen Demand\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/chemistry\/chemical-oxygen-demand-calculator\/\" data-favorite-excerpt=\"Calculate the chemical oxygen demand (COD) of a water sample from a dichromate back-titration. Enter the blank and sample FAS titration volumes, the titrant normality, and the sample volume to get the result in mg\/L as O\u2082.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-chemistry-1\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/chemistry\/chemical-oxygen-demand-calculator\/\" method=\"POST\" class=\"calculator\" id=\"calculator-66905\" data-post=\"66905\"><fieldset class=\"fieldset-input is-2\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"is-single field\" id=\"input-1\"><span class=\"font-semibold\">Titration Volumes of the Titrant (FAS)<\/span><\/div><div class=\"field has-term\" id=\"input-2\"><label for=\"field-2\">Blank Titration Volume (Vb)<\/label><div class=\"term\">Vb<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"blank_titration_volume_vb\" id=\"field-2\" aria-describedby=\"calc-unit-2 calc-info-2\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 25.0\" min=\"0\" value=\"25\"\/><div class=\"unit\" id=\"calc-unit-2\">mL<\/div><small id=\"calc-info-2\">mL of ferrous ammonium sulfate (FAS) used to titrate the blank \u2014 the distilled-water reference that contains no oxygen demand.<\/small><\/div><div class=\"field has-term\" id=\"input-3\"><label for=\"field-3\">Sample Titration Volume (Vs)<\/label><div class=\"term\">Vs<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"sample_titration_volume_vs\" id=\"field-3\" aria-describedby=\"calc-unit-3 calc-info-3\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 20.5\" min=\"0\" value=\"20.5\"\/><div class=\"unit\" id=\"calc-unit-3\">mL<\/div><small id=\"calc-info-3\">mL of FAS used to titrate the digested sample. The sample consumes dichromate, so this volume is smaller than the blank.<\/small><\/div><div class=\"field has-term\" id=\"input-4\"><label for=\"field-4\">Titrant Normality (N)<\/label><div class=\"term\">N<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"titrant_normality_n\" id=\"field-4\" aria-describedby=\"calc-unit-4 calc-info-4\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 0.1\" min=\"0\" value=\"0.1\"\/><div class=\"unit\" id=\"calc-unit-4\">N<\/div><small id=\"calc-info-4\">Normality of the ferrous ammonium sulfate titrant, standardized against the blank on the day of use (typically \u2248 0.1 N).<\/small><\/div><div class=\"is-single field\" id=\"input-5\"><span class=\"font-semibold\">Sample<\/span><\/div><div class=\"field has-term\" id=\"input-6\"><label for=\"field-6\">Sample Volume (S)<\/label><div class=\"term\">S<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"sample_volume_s\" id=\"field-6\" aria-describedby=\"calc-unit-6 calc-info-6\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 20\" min=\"0\" value=\"20\"\/><div class=\"unit\" id=\"calc-unit-6\">mL<\/div><small id=\"calc-info-6\">Volume of the original water sample added to the reflux flask (commonly 20 mL with 10 mL of 0.25 N K\u2082Cr\u2082O\u2087).<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"66905\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> COD Titration Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Chemical Oxygen Demand (COD)<\/span><span class=\"result-term\">COD<\/span><\/span><span class=\"field-value\" id=\"result-1\" data-unit=\"mg\/L as O\u2082\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-2\"><span class=\"field-title\"><span>Calculation Details<\/span><\/span><span class=\"field-value\" id=\"result-2\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-3\"><span class=\"field-title\"><span>About the COD Titration Method<\/span><\/span><span class=\"field-value\" id=\"result-3\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"66905\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Chemical Oxygen Demand Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ \\text{COD}\\ (\\text{mg\/L as O}_2) = \\frac{(V_b - V_s) \\times N \\times 8000}{S} \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(V_b\\) \u2014 blank titration volume, mL of FAS used for the distilled-water blank<\/li>\n<li>\\(V_s\\) \u2014 sample titration volume, mL of FAS used for the digested sample<\/li>\n<li>\\(N\\) \u2014 normality of the ferrous ammonium sulfate (FAS) titrant (eq\/L)<\/li>\n<li>\\(S\\) \u2014 volume of the original water sample added to the reflux flask (mL)<\/li>\n<li>\\(8000\\) \u2014 conversion factor: 8 mg\/meq (the milliequivalent weight of O\u2082) \u00d7 1000 mL\/L<\/li>\n<\/ul>\n<p>The formula converts the difference between the blank and sample titrations into the oxygen equivalent of the organic matter that consumed dichromate during digestion.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Chemical Oxygen Demand \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> a wastewater sample is refluxed with dichromate. The blank requires 25.0 mL of 0.1 N FAS, the digested sample requires 20.5 mL, and the sample volume was 20 mL.<\/p>\n<p>\\[ \\text{COD} = \\frac{(25 - 20.5) \\times 0.1 \\times 8000}{20} \\]<\/p>\n<p>\\[ \\text{COD} = \\frac{4.5 \\times 0.1 \\times 8000}{20} = 180 \\ \\text{mg\/L as O}_2 \\]<\/p>\n<p><strong>Result:<\/strong> 180 mg\/L as O\u2082 \u2014 a value typical of a moderately loaded wastewater stream.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the COD Calculator<\/h2>\n<ol>\n<li>Enter the <strong>Blank Titration Volume (Vb)<\/strong> in mL \u2014 the FAS needed to titrate the distilled-water blank after refluxing.<\/li>\n<li>Enter the <strong>Sample Titration Volume (Vs)<\/strong> in mL \u2014 the FAS needed to titrate the digested sample. This must be smaller than or equal to the blank volume.<\/li>\n<li>Enter the <strong>Titrant Normality (N)<\/strong> \u2014 the normality of the FAS solution, standardized on the day of use (typically about 0.1 N).<\/li>\n<li>Enter the <strong>Sample Volume (S)<\/strong> in mL \u2014 the volume of original water sample placed in the reflux flask (commonly 20 mL).<\/li>\n<li>Read the <strong>Chemical Oxygen Demand (COD)<\/strong> in mg\/L as O\u2082, along with a step-by-step breakdown of the calculation.<\/li>\n<\/ol>\n<h2>What Is Chemical Oxygen Demand?<\/h2>\n<p>Chemical oxygen demand (COD) is a measure of the total amount of oxygen required to chemically oxidize the organic \u2014 and some inorganic \u2014 matter dissolved or suspended in a water sample. It is one of the most widely used indicators of water quality in wastewater treatment, industrial discharge monitoring, and river pollution studies: the higher the COD, the more oxidizable pollution the water contains.<\/p>\n<p>In the standard dichromate method (APHA Standard Methods 5220B, ISO 6060), the sample is refluxed for about two hours with a known excess of potassium dichromate (K\u2082Cr\u2082O\u2087) in strongly acidic solution, with silver sulfate as a catalyst. Oxidizable matter reduces Cr\u2082O\u2087\u00b2\u207b to Cr\u00b3\u207a. After digestion, the remaining dichromate is back-titrated with ferrous ammonium sulfate (FAS) using ferroin indicator.<\/p>\n<p>The key to the calculation is the difference between the two titration volumes. The blank contains no oxygen demand, so all of its dichromate survives and the full amount of FAS is needed to titrate it. The sample consumes part of its dichromate, so <em>less<\/em> FAS is required. The difference \\(V_b - V_s\\), multiplied by the titrant normality, equals the milliequivalents of dichromate consumed \u2014 which is exactly the oxygen equivalent of the oxidized matter.<\/p>\n<p>The factor 8000 deserves a brief explanation. Oxygen (M = 32 g\/mol) accepts 4 electrons per molecule, so its equivalent weight is 32\/4 = 8 g\/eq, or 8 mg per milliequivalent. Multiplying by 1000 converts the per-mL basis of the titration to per liter. The result is therefore reported as <strong>mg\/L of O\u2082<\/strong>, even though no oxygen is actually consumed in the test.<\/p>\n<h2>Interpreting the Result<\/h2>\n<p>Some benchmark values help put a COD number in context: clean river water typically shows 5\u201330 mg\/L; well-treated municipal effluent 30\u2013100 mg\/L; raw domestic sewage 300\u2013600 mg\/L; and certain industrial wastes can exceed several thousand mg\/L. Discharge permits usually specify a maximum COD, so the result is often compared directly against a regulatory limit.<\/p>\n<p>COD differs from biochemical oxygen demand (BOD): COD measures everything chemically oxidizable \u2014 including compounds that bacteria cannot degrade \u2014 and takes hours rather than the 5 days required for BOD\u2085. For most wastewaters, the COD\/BOD ratio falls between 1.5 and 3, and COD is often used as a rapid estimate of BOD once the ratio for a given effluent has been established.<\/p>\n<h2>Assumptions, Limitations and Practical Tips<\/h2>\n<ul>\n<li><strong>Titrant standardization:<\/strong> the FAS normality must be verified against the blank or a primary standard on the day of use; FAS slowly oxidizes in storage. The standardization must use the same setup as the sample titration.<\/li>\n<li><strong>Sample must consume less titrant than the blank:<\/strong> if \\(V_s &gt; V_b\\), something is wrong \u2014 the sample was not digested, the volumes were swapped, or the titration endpoint was missed.<\/li>\n<li><strong>Chloride interference:<\/strong> chloride ions are oxidized by dichromate and inflate the result. Mercuric sulfate is added to complex chloride, but above roughly 2000 mg\/L Cl\u207b the sample should be diluted. Note that mercury-containing waste must be handled and disposed of as hazardous.<\/li>\n<li><strong>Incomplete oxidation:<\/strong> pyridine and related nitrogen heterocycles, and some straight-chain aliphatics, are not fully oxidized even with the silver catalyst. Volatile compounds may also be lost if the reflux apparatus leaks.<\/li>\n<li><strong>High-COD samples:<\/strong> if the calculated COD exceeds about 1000 mg\/L, most of the dichromate has been consumed and the excess is no longer guaranteed. Dilute the sample and repeat the determination.<\/li>\n<li><strong>Zero result:<\/strong> equal blank and sample volumes mean no measurable dichromate was consumed. This can be genuine for very clean water, but it is worth confirming the digestion was complete.<\/li>\n<\/ul>\n<p>If you are working through the stoichiometry of other analytical or electrochemical techniques, you may also find our <a href=\"https:\/\/wpcalc.com\/en\/chemistry\/standard-cell-potential-calculator\/\">Standard Cell Potential Calculator<\/a>, <a href=\"https:\/\/wpcalc.com\/en\/chemistry\/solubility-product-ksp-calculator\/\">Solubility Product Calculator<\/a>, or <a href=\"https:\/\/wpcalc.com\/en\/chemistry\/chromatography-theoretical-plates-calculator\/\">Chromatography Theoretical Plates Calculator<\/a> useful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Calculate the chemical oxygen demand (COD) of a water sample from a dichromate back-titration. Enter the blank and sample FAS titration volumes, the titrant normality, and the sample volume to get the result in mg\/L as O\u2082.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[54],"tags":[57],"class_list":["post-66905","post","type-post","status-publish","format-standard","hentry","category-chemistry","tag-reactions"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=66905"}],"version-history":[{"count":1,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66905\/revisions"}],"predecessor-version":[{"id":66906,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/66905\/revisions\/66906"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=66905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=66905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=66905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}