Methodology, sources and test cases
How the pool volume and chlorine calculators work, where each number comes from and how we test them.
How this site is made
GoodToSwim.com is an independent website. The calculators, formulas and texts are produced with the help of AI tools and checked against the sources and test cases on this page before they are published. There is no named author and no expert panel. If you find a mistake, please tell us.
Formulas used
| What | Formula | Source |
|---|---|---|
| Cubic feet to US gallons | × 7.48052 | NIST SP 811, App. B.9 |
| US gallon, imperial gallon | 3.785412 L; 4.54609 L | NIST SP 811, App. B.9 |
| Rectangle, round, ellipse | L × W × mean depth; π/4 × D² × mean depth; π/4 × L × W × mean depth | Geometry |
| Sloped floor and sections | Sum of length × width × (start depth + end depth) / 2 | Geometry |
| Kidney and irregular shapes | Freehand and kidney shapes are not in this version: we have not found a published uncertainty range for estimating them, and we do not show a volume without one. | |
| Chlorine needed | grams available chlorine = ΔFC (mg/L) × volume (L) ÷ 1000 | Definition of ppm (mg/L) |
| Dry products | product = grams ÷ available chlorine fraction | Wojtowicz 2004, JSPSI 5(1) |
| Liquid chlorine | product (L) = grams ÷ g/L; trade-%: g/L = 10 × %; weight-%: g/L interpolated in OxyChem Table 1 (10–200 g/L only) | OxyChem Sodium Hypochlorite Handbook; EPA label 550-198 |
| Breakpoint | ΔFC = 10 × (TC − FC) | CDC Model Aquatic Health Code 2024, glossary |
| Stabilizer from trichlor / dichlor | +0.607 / +0.910 ppm CYA per ppm FC | Our stoichiometry (molar masses) |
| Calcium from cal-hypo | +0.706 ppm CH (as CaCO3) per ppm FC | Our stoichiometry; an estimate |
| Stabilizer warning | CYA ÷ FC above 20 | Falk et al. 2019, Water 11(6):1314 |
How we test
Each calculator is tested against its own set of cases with a tolerance of ±5 %: the volume calculator against 32 cases (15 from published sources), the chlorine calculator against 31 cases (6 from published sources). At most 3 published cases per calculator may come from manufacturers or secondary sources. A table that applies one rule to many sizes counts as one case, because it is one document: the City of Akron table has 55 in-ground cells (55 within ±5 %), and they count as one case. The volume calculator's 12 primary published cases come from 8 independent documents from public agencies, a university research centre and a federal standard; without the Akron table it still has 31 cases (14 published). The chlorine calculator is counted the same way, one case per rule in each published table: its 27 published rows form 11 rule groups. That gives it 4 primary published cases, 6 published cases in all and 31 cases including our own control cases, from 3 independent documents. That is fewer published cases than we require for a calculator (at least 7 primary and 10 published), and we are adding more.
Source conflicts in the Indiana dosing table (dry products): 2 of its rows differ from our calculation by more than ±5 %. We show them as source conflicts rather than adjusting the calculator, and because of them the table's dry-product rule does not count as a passed case.
| Row | Indiana table | Our value | Deviation | Why we treat it as a source conflict |
|---|---|---|---|---|
| Dichlor 56 %: 10 ppm in 10,000 gal (oz) | 22.4 oz | 23.84 oz | +6.45 % | The source table is rounded and internally inconsistent: its 1 ppm value × 10 is 24 oz, its 10 ppm cell is 22.4 oz. |
| Trichlor (90 % assumed): 10 ppm in 10,000 gal (oz) | 14 oz | 14.84 oz | +5.97 % | The source table is rounded and internally inconsistent: its 1 ppm value × 10 is 15 oz, its 10 ppm cell is 14 oz. |
We never round our result towards the source. When a source disagrees with us for a reason we can document, we mark the case as a source conflict and show it in the calculator, instead of adjusting our formula.
Published examples
Volume calculator: 22 published examples (the City of Akron table as one), 18 within ±5 % and eligible, 15 counted after the cap on manufacturer and secondary sources
| Case | Source value | Our value | Difference | Status | Source |
|---|---|---|---|---|---|
| 1 ft³ = US gal | 7.4805 | 7.4805 | 0 % | within ±5 % | NIST SP 811 |
| 1 imperial gal = US gal | 1.2009 | 1.2009 | -0 % | within ±5 % | NIST SP 811 |
| Volume 16×32×5 ft (gal) | 19,200 | 19,150.1312 | -0.26 % | within ±5 % | Title 24 fact sheet, scenario 4 |
| Rectangle factor (gal per ft³) | 7.5 | 7.4805 | -0.26 % | within ±5 % | Pentair IntelliChlor manual [manufacturer] |
| Round factor (gal per diameter²·depth) | 5.9 | 5.8752 | -0.42 % | within ±5 % | Pentair IntelliChlor manual [manufacturer] |
| Oval factor (gal per length·width·depth) | 6.7 | 5.8752 | -12.31 % | source conflict The manufacturer's 6.7 oval factor is not a true ellipse (π/4 × 7.48 = 5.875); it probably means an oval with straight sides. We keep the ellipse and show this conflict. | Pentair IntelliChlor manual [manufacturer] |
| Rectangle 40×20 ft, 3–7 ft (gal) | 30,000 | 29,922.08 | -0.26 % | within ±5 % | Washington State DOH, Water Recreation Program (D. DeLong), Pool Equipment |
| Round 15 ft, 2 ft deep (gal) | 2,649.375 | 2,643.834 | -0.21 % | within ±5 % | Washington State DOH, Water Recreation Program (D. DeLong), Pool Equipment |
| Oblong: half circles r 10 ft + rectangle 30×20 ft, 3–6 ft (gal) | 30,847.5 | 30,772.74 | -0.24 % | within ±5 % | Washington State DOH, Water Recreation Program (D. DeLong), Pool Equipment |
| Oval A 10 ft, B 15 ft, 3–5 ft (gal) | 4,500 | 3,525.112 | -21.66 % | source conflict The source multiplies A × B without π; no reading of A and B as axes or half-axes gives its 4,500 gal. Shown as a conflict. | Washington State DOH, Water Recreation Program (D. DeLong), Pool Equipment |
| Rectangle 20×40 ft, 4.5 ft average depth (gal) | 26,900 | 26,929.872 | 0.11 % | within ±5 % | Florida Solar Energy Center (UCF), FSEC-IN-23-83, ch. 6.2 |
| Rectangle 25.75×10 ft, 3–9 ft (gal) | 11,587.5 | 11,557.4034 | -0.26 % | within ±5 % | Swimming Pool Calculations (water utility, myruralwater.com) [secondary] |
| Round hot tub d 10 ft, 3 ft (gal) | 1,766.25 | 1,762.556 | -0.21 % | within ±5 % | Swimming Pool Calculations (water utility, myruralwater.com) [secondary] |
| Pool Operators Permit Instruction Manual, Section 1 F.2 'Volume of Square or Rectangular Pool' (US gal) | 23,936 | 23,937.664 | 0.01 % | within ±5 % | Tulsa Health Department (Oklahoma), PDF page 12 |
| Pool Operators Permit Instruction Manual, Section 1 F.3 'Volume of Circular Pool' (US gal) | 11,837.5 | 11,844.3763 | 0.06 % | within ±5 % | Tulsa Health Department (Oklahoma), PDF page 13 |
| Appendix: Pool & Spa Safety, A Training for Pool & Spa Operators (Nov 2019), 'Calculating surface area and pool capacity', three-section example (US gal) | 55,875 | 55,729.874 | -0.26 % | within ±5 % | Columbus Public Health (Ohio), PDF page 2 |
| Basic Pool Plan Review Calculations sheet (SOP class, Raleigh, 20–21 Feb 2024), item 4 'Pool volume' (US gal) | 10,472 | 10,472.728 | 0.01 % | within ±5 % | North Carolina Department of Health and Human Services, Division of Public Health, PDF page 18 |
| Pool & Spa Handover Booklet, 'How big is my pool or spa?', rectangular example (L) | 54,000 | 54,000.0068 | 0 % | within ±5 % | SPASA Australia (Swimming Pool & Spa Association, industry body), PDF page 6 [secondary] |
| Pool & Spa Handover Booklet, 'How big is my pool or spa?', round example (L) | 42,390 | 42,411.5062 | 0.05 % | within ±5 % | SPASA Australia (Swimming Pool & Spa Association, industry body), PDF page 6 [secondary] |
| Pool sizing & formulas, 'Volume of pool' example (US gal) | 13,500 | 13,464.936 | -0.26 % | within ±5 % (not counted: seen only in a search excerpt; not counted until opened) | Kern County Public Health (California), web page (search excerpt only) |
| Pool Safety Operations Guide for Pool Operators, 'Pool Capacity and Draining Requirements' (US gal) | 22,500 | 22,441.56 | -0.26 % | within ±5 % (not counted: seen only in a search excerpt; not counted until opened) | Livingston County Health Department (Michigan), okänt (PDF not downloadable) (search excerpt only) |
City of Akron table: one counted case. 80 cells, of which 55 in-ground cells are compared (55 within ±5 %); the above-ground cells are shown but not counted
| Case | Source value | Our value | Difference | Status | Source |
|---|---|---|---|---|---|
| Akron in-ground 12×24 ft, 3.5 ft average depth (gal) | 7,600 | 7,540.3642 | -0.78 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 12×24 ft, 4.0 ft average depth (gal) | 8,600 | 8,617.559 | 0.2 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 12×24 ft, 4.5 ft average depth (gal) | 9,700 | 9,694.7539 | -0.05 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 12×24 ft, 5.0 ft average depth (gal) | 10,800 | 10,771.9488 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 12×24 ft, 5.5 ft average depth (gal) | 11,900 | 11,849.1437 | -0.43 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 14×28 ft, 3.5 ft average depth (gal) | 10,300 | 10,263.2734 | -0.36 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 14×28 ft, 4.0 ft average depth (gal) | 11,800 | 11,729.4554 | -0.6 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 14×28 ft, 4.5 ft average depth (gal) | 13,200 | 13,195.6373 | -0.03 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 14×28 ft, 5.0 ft average depth (gal) | 14,700 | 14,661.8192 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 14×28 ft, 5.5 ft average depth (gal) | 16,200 | 16,128.0011 | -0.44 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 15×30 ft, 3.5 ft average depth (gal) | 11,800 | 11,781.819 | -0.15 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 15×30 ft, 4.0 ft average depth (gal) | 13,500 | 13,464.936 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 15×30 ft, 4.5 ft average depth (gal) | 15,200 | 15,148.053 | -0.34 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 15×30 ft, 5.0 ft average depth (gal) | 16,900 | 16,831.17 | -0.41 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 15×30 ft, 5.5 ft average depth (gal) | 18,600 | 18,514.287 | -0.46 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 16×32 ft, 3.5 ft average depth (gal) | 13,400 | 13,405.0918 | 0.04 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 16×32 ft, 4.0 ft average depth (gal) | 15,400 | 15,320.105 | -0.52 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 16×32 ft, 4.5 ft average depth (gal) | 17,300 | 17,235.1181 | -0.38 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 16×32 ft, 5.0 ft average depth (gal) | 19,200 | 19,150.1312 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 16×32 ft, 5.5 ft average depth (gal) | 21,100 | 21,065.1443 | -0.17 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 18×36 ft, 3.5 ft average depth (gal) | 17,000 | 16,965.8194 | -0.2 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 18×36 ft, 4.0 ft average depth (gal) | 19,400 | 19,389.5078 | -0.05 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 18×36 ft, 4.5 ft average depth (gal) | 21,900 | 21,813.1963 | -0.4 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 18×36 ft, 5.0 ft average depth (gal) | 24,300 | 24,236.8848 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 18×36 ft, 5.5 ft average depth (gal) | 26,700 | 26,660.5733 | -0.15 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 19×38 ft, 3.5 ft average depth (gal) | 19,000 | 18,903.274 | -0.51 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 19×38 ft, 4.0 ft average depth (gal) | 21,700 | 21,603.7418 | -0.44 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 19×38 ft, 4.5 ft average depth (gal) | 24,400 | 24,304.2095 | -0.39 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 19×38 ft, 5.0 ft average depth (gal) | 27,100 | 27,004.6772 | -0.35 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 19×38 ft, 5.5 ft average depth (gal) | 29,800 | 29,705.1449 | -0.32 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 20×40 ft, 3.5 ft average depth (gal) | 21,000 | 20,945.456 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 20×40 ft, 4.0 ft average depth (gal) | 24,000 | 23,937.664 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 20×40 ft, 4.5 ft average depth (gal) | 27,000 | 26,929.872 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 20×40 ft, 5.0 ft average depth (gal) | 30,000 | 29,922.08 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 20×40 ft, 5.5 ft average depth (gal) | 33,000 | 32,914.288 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 22×44 ft, 3.5 ft average depth (gal) | 25,400 | 25,344.0018 | -0.22 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 22×44 ft, 4.0 ft average depth (gal) | 29,000 | 28,964.5734 | -0.12 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 22×44 ft, 4.5 ft average depth (gal) | 32,700 | 32,585.1451 | -0.35 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 22×44 ft, 5.0 ft average depth (gal) | 36,300 | 36,205.7168 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 22×44 ft, 5.5 ft average depth (gal) | 39,900 | 39,826.2885 | -0.18 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×45 ft, 3.5 ft average depth (gal) | 29,531 | 29,454.5475 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×45 ft, 4.0 ft average depth (gal) | 33,750 | 33,662.34 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×45 ft, 4.5 ft average depth (gal) | 37,968 | 37,870.1325 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×45 ft, 5.0 ft average depth (gal) | 42,187 | 42,077.925 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×45 ft, 5.5 ft average depth (gal) | 46,406 | 46,285.7175 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×50 ft, 3.5 ft average depth (gal) | 32,800 | 32,727.275 | -0.22 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×50 ft, 4.0 ft average depth (gal) | 37,500 | 37,402.6 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×50 ft, 4.5 ft average depth (gal) | 42,200 | 42,077.925 | -0.29 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×50 ft, 5.0 ft average depth (gal) | 46,900 | 46,753.25 | -0.31 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 25×50 ft, 5.5 ft average depth (gal) | 51,600 | 51,428.575 | -0.33 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 30×50 ft, 3.5 ft average depth (gal) | 39,375 | 39,272.73 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 30×50 ft, 4.0 ft average depth (gal) | 45,000 | 44,883.12 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 30×50 ft, 4.5 ft average depth (gal) | 50,525 | 50,493.51 | -0.06 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 30×50 ft, 5.0 ft average depth (gal) | 56,250 | 56,103.9 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron in-ground 30×50 ft, 5.5 ft average depth (gal) | 61,875 | 61,714.29 | -0.26 % | within ±5 % | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 12 ft, wall 48 in (water depth 3.5 ft derived) | 2,975 | 2,961.0941 | -0.47 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 15 ft, wall 48 in (water depth 3.5 ft derived) | 4,646 | 4,626.7095 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 18 ft, wall 48 in (water depth 3.5 ft derived) | 7,646 | 6,662.4617 | -12.86 % | source conflict (not counted: cross-check) The table is internally inconsistent: the 18 ft round and 18 × 40 ft oval rows imply a different water depth than the other rows. | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 21 ft, wall 48 in (water depth 3.5 ft derived) | 9,106 | 9,068.3506 | -0.41 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 24 ft, wall 48 in (water depth 3.5 ft derived) | 11,895 | 11,844.3763 | -0.43 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 27 ft, wall 48 in (water depth 3.5 ft derived) | 15,054 | 14,990.5388 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 30 ft, wall 48 in (water depth 3.5 ft derived) | 18,585 | 18,506.838 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 33 ft, wall 48 in (water depth 3.5 ft derived) | 22,488 | 22,393.274 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 12×24 ft, wall 48 in (water depth 3.5 ft derived) | 5,948 | 5,922.1882 | -0.43 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 15×30 ft, wall 48 in (water depth 3.5 ft derived) | 9,293 | 9,253.419 | -0.43 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 16×32 ft, wall 48 in (water depth 3.5 ft derived) | 10,573 | 10,528.3345 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 18×33 ft, wall 48 in (water depth 3.5 ft derived) | 12,267 | 12,214.5131 | -0.43 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 12 ft, wall 52 in (water depth 4.0 ft derived) | 3,398 | 3,384.1075 | -0.41 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 15 ft, wall 52 in (water depth 4.0 ft derived) | 5,310 | 5,287.668 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 18 ft, wall 52 in (water depth 4.0 ft derived) | 8,602 | 7,614.2419 | -11.48 % | source conflict (not counted: cross-check) The table is internally inconsistent: the 18 ft round and 18 × 40 ft oval rows imply a different water depth than the other rows. | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 21 ft, wall 52 in (water depth 4.0 ft derived) | 10,408 | 10,363.8293 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 24 ft, wall 52 in (water depth 4.0 ft derived) | 13,594 | 13,536.4301 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 27 ft, wall 52 in (water depth 4.0 ft derived) | 17,205 | 17,132.0443 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 30 ft, wall 52 in (water depth 4.0 ft derived) | 21,240 | 21,150.672 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground round 33 ft, wall 52 in (water depth 4.0 ft derived) | 25,700 | 25,592.3131 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 12×24 ft, wall 52 in (water depth 4.0 ft derived) | 6,797 | 6,768.215 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 15×30 ft, wall 52 in (water depth 4.0 ft derived) | 10,620 | 10,575.336 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 16×32 ft, wall 52 in (water depth 4.0 ft derived) | 12,084 | 12,032.3823 | -0.43 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 18×33 ft, wall 52 in (water depth 4.0 ft derived) | 14,019 | 13,959.4435 | -0.42 % | within ±5 % (not counted: cross-check) | City of Akron, How to calculate the gallons in a swimming pool |
| Akron above-ground oval 18×40 ft, wall 52 in (water depth 4.0 ft derived) | 19,116 | 16,920.5376 | -11.48 % | source conflict (not counted: cross-check) The table is internally inconsistent: the 18 ft round and 18 × 40 ft oval rows imply a different water depth than the other rows. | City of Akron, How to calculate the gallons in a swimming pool |
Chlorine calculator: 43 published examples; the 27 eligible rows form 11 rule groups (one case per rule in each table), 8 of them entirely within ±5 %, 6 counted after the cap on manufacturer and secondary sources
| Case | Source value | Our value | Difference | Status | Source |
|---|---|---|---|---|---|
| Lithium hypochlorite 35 %: oz per ppm/10,000 gal | 3.81 | 3.815 | 0.13 % | within ±5 % (not counted: product not offered in the calculator) | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Cal-hypo 65 %: oz per ppm/10,000 gal | 2.05 | 2.0543 | 0.21 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Cal-hypo 75 %: oz per ppm/10,000 gal | 1.78 | 1.7804 | 0.02 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Dichlor 56 %: oz per ppm/10,000 gal | 2.39 | 2.3844 | -0.23 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Dichlor 62 %: oz per ppm/10,000 gal | 2.15 | 2.1537 | 0.17 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Trichlor 90 %: oz per ppm/10,000 gal | 1.48 | 1.4836 | 0.25 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Chlorine gas 100 %: oz per ppm/10,000 gal | 1.34 | 1.3353 | -0.35 % | within ±5 % (not counted: product not offered in the calculator) | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| NaOCl 12 % available Cl, SG 1.17: fl oz per ppm/10,000 gal | 9.1 | 9.1168 | 0.18 % | within ±5 % | Wojtowicz 2004 (JSPSI 5(1)) Tab. 13 |
| Cal-hypo 65 %: lb for +10 ppm in 10,000 gal | 1.282 | 1.2839 | 0.15 % | within ±5 % | poolhelp Simplified Formulas [secondary] |
| Lithium hypochlorite 35 %: lb for +10 ppm in 10,000 gal | 2.381 | 2.3844 | 0.14 % | within ±5 % (not counted: product not offered in the calculator) | poolhelp Simplified Formulas [secondary] |
| Trichlor 90 %: lb for +10 ppm in 10,000 gal | 0.926 | 0.9273 | 0.14 % | within ±5 % | poolhelp Simplified Formulas [secondary] |
| Dichlor 56 %: lb for +10 ppm in 10,000 gal | 1.488 | 1.4903 | 0.15 % | within ±5 % | poolhelp Simplified Formulas [secondary] |
| Dichlor 62 %: lb for +10 ppm in 10,000 gal | 1.344 | 1.346 | 0.15 % | within ±5 % | poolhelp Simplified Formulas [secondary] |
| NaOCl ”10 %/weight”: qt for +10 ppm in 10,000 gal (weight-% NaOCl) | 3.333 | 3.6405 | 9.23 % | source conflict The source calls its divisor a “usable approximation” for 10 % and does not state the basis; it corresponds to about 120 g/L, not 10 weight-% (about 110 g/L). | poolhelp Simplified Formulas [secondary] |
| Liquichlor 12.5 %: 5 ppm in 10,000 gal, weight-% (the label's basis) | 52 | 44.7939 | -13.86 % | source conflict The label's ingredient box says 12.5 % sodium hypochlorite by weight, but its own shock dose matches trade-%. The calculator shows our value and a notice. | EPA label 550-198 [manufacturer] |
| Liquichlor 12.5 %: 10 ppm, weight-% (the label's basis) | 104 | 89.5878 | -13.86 % | source conflict Same label: ingredient and dose use different bases. | EPA label 550-198 [manufacturer] |
| Liquichlor 12.5 %: 5 ppm, trade-% | 52 | 51.2001 | -1.54 % | within ±5 % (not counted: cross-check) | EPA label 550-198 [manufacturer] |
| Liquichlor 12.5 %: 10 ppm, trade-% | 104 | 102.4001 | -1.54 % | within ±5 % (not counted: cross-check) | EPA label 550-198 [manufacturer] |
| 5.25 % NaOCl → weight-% available Cl | 5 | 5 | 0 % | within ±5 % (not counted: does not call the calculator's code) | OxyChem Handbook [manufacturer] |
| 5.25 % NaOCl → trade-% | 5.37 | 5.3778 | 0.14 % | within ±5 % | OxyChem Handbook [manufacturer] |
| 5.25 % NaOCl → density (SG) | 1.075 | 1.0753 | 0.03 % | within ±5 % | OxyChem Handbook [manufacturer] |
| 1000 gal 5.25 % bleach → lb Cl2 | 448 | 448.7756 | 0.17 % | within ±5 % | OxyChem Handbook (worked example) [manufacturer] |
| Cal-hypo 60,000 gal, FC 1 → 10, label 20 oz/10 ppm/10k (oz) | 108 | 108 | 0 % | within ±5 % (not counted: does not call the calculator's code) | Indiana DOH, How to shock |
| Breakpoint: CC 0.5 → add FC | 5 | 5 | 0 % | within ±5 % (not counted: does not call the calculator's code) | CDC MAHC 2024, glossary |
| Hyperchlorination 20 ppm (min) | 765 | 765 | 0 % | within ±5 % (not counted: hyperchlorination is group 2 (not in v1)) | CDC 2018 |
| Hyperchlorination 10 ppm (min) | 1,530 | 1,530 | 0 % | within ±5 % (not counted: hyperchlorination is group 2 (not in v1)) | CDC 2018 |
| Chlorine gas: 1 ppm in 10,000 gal (oz) | 1.3 | 1.3353 | 2.71 % | within ±5 % (not counted: product not offered in the calculator) | Indiana DOH, Chemical adjustment pool |
| Chlorine gas: 10 ppm in 10,000 gal (oz) | 13 | 13.3527 | 2.71 % | within ±5 % (not counted: product not offered in the calculator) | Indiana DOH, Chemical adjustment pool |
| Cal-hypo 67 %: 1 ppm in 10,000 gal (oz) | 2 | 1.9929 | -0.35 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Cal-hypo 67 %: 10 ppm in 10,000 gal (oz) | 20.8 | 19.9293 | -4.19 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Lithium hypochlorite (35 % assumed): 1 ppm in 10,000 gal (oz) | 3.8 | 3.815 | 0.4 % | within ±5 % (not counted: product not offered in the calculator) | Indiana DOH, Chemical adjustment pool |
| Lithium hypochlorite (35 % assumed): 10 ppm in 10,000 gal (oz) | 38.4 | 38.1505 | -0.65 % | within ±5 % (not counted: product not offered in the calculator) | Indiana DOH, Chemical adjustment pool |
| Dichlor 62 %: 1 ppm in 10,000 gal (oz) | 2.1 | 2.1537 | 2.55 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Dichlor 62 %: 10 ppm in 10,000 gal (oz) | 20.8 | 21.5365 | 3.54 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Dichlor 56 %: 1 ppm in 10,000 gal (oz) | 2.4 | 2.3844 | -0.65 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Dichlor 56 %: 10 ppm in 10,000 gal (oz) | 22.4 | 23.844 | 6.45 % | source conflict The source table is rounded and internally inconsistent: its 1 ppm value × 10 is 24 oz, its 10 ppm cell is 22.4 oz. | Indiana DOH, Chemical adjustment pool |
| Trichlor (90 % assumed): 1 ppm in 10,000 gal (oz) | 1.5 | 1.4836 | -1.09 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Trichlor (90 % assumed): 10 ppm in 10,000 gal (oz) | 14 | 14.8363 | 5.97 % | source conflict The source table is rounded and internally inconsistent: its 1 ppm value × 10 is 15 oz, its 10 ppm cell is 14 oz. | Indiana DOH, Chemical adjustment pool |
| NaOCl 12 % (basis not stated, trade-% assumed): 1 ppm (fl oz) | 10.7 | 10.6667 | -0.31 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| NaOCl 12 % (trade-% assumed): 10 ppm (qt) | 3.3 | 3.3333 | 1.01 % | within ±5 % | Indiana DOH, Chemical adjustment pool |
| Breakpoint: CC 1 ppm → dose 10 ppm (10 × CC) | 10 | 10 | 0 % | within ±5 % (not counted: does not call the calculator's code) | Oklahoma State Department of Health, Pool Operator Course 2018, p. 35 |
| NaOCl 12 % (trade-% assumed): 10 ppm in 12,000 gal (gal) | 1 | 1 | 0 % | within ±5 % | Oklahoma State Department of Health, Pool Operator Course 2018, p. 35 |
| NaOCl 12 % (weight-% NaOCl): 10 ppm in 12,000 gal (gal) | 1 | 0.8818 | -11.82 % | source conflict (not counted: cross-check) The source gives 12 % available chlorine without a basis. Read as weight-% sodium hypochlorite, the calculator gives 0.882 gal (−11.8 %); only trade-% (g/L ÷ 10) reproduces the source's 1 gallon, so the trade-% row is the one that counts (the same assumption as for Indiana). | Oklahoma State Department of Health, Pool Operator Course 2018, p. 35 |
| Rule group (counts as one case) | Rule | Rows within ±5 % | Status |
|---|---|---|---|
| Wojtowicz Table 13, dry products (purity varied) | dry: oz = ppm × gal × k / fraction | 5 of 5 | all rows within ±5 % |
| Wojtowicz Table 13, liquid chlorine by weight and SG | liquid: weight-% available Cl × SG | 1 of 1 | all rows within ±5 % |
| Simplified formulas, dry products [secondary] | dry divisor | 4 of 4 | all rows within ±5 % |
| Simplified formulas, liquid 10 % [secondary] | liquid divisor 30,000 | 0 of 1 | source conflict |
| Liquichlor label dose [manufacturer] | liquid, label basis | 0 of 2 | source conflict |
| OxyChem strength conversion [manufacturer] | trade-% = g/L ÷ 10 | 1 of 1 | all rows within ±5 % |
| OxyChem density [manufacturer] | density from g/L | 1 of 1 | all rows within ±5 % |
| OxyChem worked example [manufacturer] | lb Cl2 = g/L × 0.008345 × gal | 1 of 1 | all rows within ±5 % |
| Indiana table, dry products (purity and ppm varied) | dry: oz = ppm × gal × k / fraction | 6 of 8 | some rows are source conflicts; not counted as a pass |
| Indiana table, liquid chlorine 12 % | liquid trade-% (assumed) | 2 of 2 | all rows within ±5 % |
| Oklahoma p. 35, 1 gal of 12 % per 12,000 gal | liquid trade-% (assumed) | 1 of 1 | all rows within ±5 % |
Own control cases
42 own control cases, calculated by a separate script that does not share code with the calculator, using exact unit definitions. Each case lists what it checks; the expected values are in the test file.
| ID | Group | What is checked |
|---|---|---|
| S1 | sections | Three sections 20×16 ft at 3.5 ft, 8×16 ft sloping 3.5→8 ft, 12×16 ft at 8 ft. Prism volume per section (mean of end depths), ft³ × 1728/231. |
| S2 | sections | Rectangle 32×16 ft with a constant slope 3.5→8 ft (one section, mean depth 5.75 ft). |
| S3 | sections | Metric sections 4 m × 5 m sloping 1.0→1.2 m and 6 m × 5 m sloping 1.2→2.0 m. m³ × 1000 = L, then L ÷ 3.785411784. |
| M1 | metric | 10 × 5 × 1.5 m = 75 m³ = 75 000 L; US gal = L ÷ 3.785411784; imp gal = L ÷ 4.54609. |
| M2 | metric | Round, radius 2 m, depth 1.2 m: π r² h m³ × 1000 = L. |
| M3 | metric | 800 × 400 cm, depth 110→170 cm (mean 1.4 m): 44.8 m³ = 44 800 L. |
| M4 | metric | 50 000 L, +2 mg/L = 100 g available chlorine; 10 trade-% = 100 g/L → 1.0 L (exact in metric). |
| E1 | ellipse | Ellipse with semi-axes 10 and 6 ft: area π·a·b, × depth 4.5 ft. |
| E2 | ellipse | Ellipse 6 × 3.5 m, depth 1.0→1.6 m (mean 1.3 m): π·3·1.75·1.3 m³. |
| R1 | ellipse | Round 24 ft (radius 12 ft), 4 ft deep: π r² h. |
| V1 | units | Inches: 384 × 192 in, depth 42→96 in; in³ ÷ 231 = US gal directly (no feet step). |
| V2 | ellipse | Round 18 ft with sloping floor 3→5 ft (mean 4 ft): π r² h. |
| V3 | metric | Ellipse 500 × 300 cm, 120 cm deep: π·2.5·1.5·1.2 m³ × 1000 = L. |
| V4 | sections | Four parts, all 15 ft wide: 10 ft flat at 3 ft, 6 ft sloping 3→5, 8 ft sloping 5→8, 6 ft flat at 8 ft. |
| V5 | metric | 12 × 6 m, depth 1.0→2.0 m (mean 1.5 m): 108 m³ = 108 000 L. |
| V6 | metric | Round 5.5 m, depth 1.1→1.3 m (mean 1.2 m): π r² h m³ × 1000 = L. |
| V7 | sections | One flat part 20 × 10 ft at 4 ft must equal the rectangle 20 × 10 × 4 ft (800 ft³). |
| O1 | oxychem | Lower table edge: 1.04 wt-% NaOCl = 10 g/L (OxyChem Table 1). 1 ppm in 10 000 gal. |
| O2 | oxychem | Upper table edge: 16.41 wt-% NaOCl = 200 g/L. |
| O3 | oxychem | 12.5 wt-% between 12.29 (140 g/L) and 13.02 (150 g/L), linear. |
| O4 | oxychem | 6.0 wt-% between 5.81 (60 g/L) and 6.69 (70 g/L), linear. |
| O5 | oxychem | 12.5 trade-% = 125 g/L by definition (g/L ÷ 10). |
| O6 | oxychem | 5 trade-% = 50 g/L. |
| O7 | oxychem | 1.0 wt-% is below the table (1.04): no dose may be shown. |
| O8 | oxychem | 16.5 wt-% is above the table (16.41): no dose may be shown. |
| O9 | oxychem | 0.5 trade-% = 5 g/L, below 10 g/L (own rule: same 10–200 g/L window for both bases): no dose may be shown. |
| O10 | oxychem | 21 trade-% = 210 g/L, above 200 g/L (own rule): no dose may be shown. |
| SE1 | side effects | +10 ppm FC from trichlor: trichlor gives 1 CYA per 3 Cl2, dichlor 1 per 2 Cl2, cal-hypo 1 Ca (as CaCO3) per 2 Cl2; molar masses from atomic weights (CYA 129.075, Cl2 70.90, CaCO3 100.086). Liquid: none. |
| SE2 | side effects | +5 ppm FC from dichlor: trichlor gives 1 CYA per 3 Cl2, dichlor 1 per 2 Cl2, cal-hypo 1 Ca (as CaCO3) per 2 Cl2; molar masses from atomic weights (CYA 129.075, Cl2 70.90, CaCO3 100.086). Liquid: none. |
| SE3 | side effects | +10 ppm FC from calhypo: trichlor gives 1 CYA per 3 Cl2, dichlor 1 per 2 Cl2, cal-hypo 1 Ca (as CaCO3) per 2 Cl2; molar masses from atomic weights (CYA 129.075, Cl2 70.90, CaCO3 100.086). Liquid: none. |
| SE4 | side effects | +10 ppm FC from liquid: trichlor gives 1 CYA per 3 Cl2, dichlor 1 per 2 Cl2, cal-hypo 1 Ca (as CaCO3) per 2 Cl2; molar masses from atomic weights (CYA 129.075, Cl2 70.90, CaCO3 100.086). Liquid: none. |
| B1 | breakpoint | CC = 1.5 − 1.0 = 0.5; ΔFC = 10 × CC = 5 ppm; cal-hypo 65 % in 15 000 gal. |
| B2 | breakpoint | CC 0.3 → ΔFC 3 ppm; 10 trade-% (100 g/L) in 20 000 gal. |
| B3 | breakpoint | CC 1.2 → ΔFC 12 ppm; dichlor 56 % in 8 000 gal; CYA side effect included. |
| B4 | breakpoint | TC below FC is impossible: no dose. |
| U1 | units | Liquid: fl oz, qt (÷32), US gal (÷128), mL (fl oz × 29.5735295625), L. |
| U2 | units | Dry: oz, lb (÷16), g (oz × 28.349523125), kg. |
| U3 | units | 1 ft³ in US gal, imperial gal and litres from exact definitions. |
| G1 | guards | Liquid chlorine without an active weight-% / trade-% choice: no dose. |
| G2 | guards | FC already above target: no dose. |
| G3 | guards | Shock mode without the label ppm: no dose. |
| G4 | guards | No strength entered (no default strength): no dose. |
The doses in these tables are test values, not instructions. Before adding any pool chemical, read the safety rules and your product label.
Sources
- NIST SP 811, Appendix B.9 (conversion factors).
- Wojtowicz, J. A. (2004). Chemical Adjustments. Journal of the Swimming Pool and Spa Industry 5(1); and Simplified Formulas for Chemical Additions (poolhelp.com).
- OxyChem, Sodium Hypochlorite Handbook, Table 1.
- US EPA pesticide labels 550-198 (liquid chlorine 12.5 %), 55852-3, 748-311 (cal-hypo), 1258-1237 (pool shock).
- CDC, Model Aquatic Health Code 2024 (glossary); CDC Pool Chemical Safety poster and toolkit.
- Indiana Department of Health, Chemical adjustment pool (a state health department table adapted from the NSPF Pool & Spa Operator Handbook); How to shock the pool.
- Falk, R. A. et al. (2019). Water 11(6):1314.
- California Energy Code (Title 24) pool and spa heating fact sheet, scenario 4 (volume example).
- Pentair IntelliChlor manual (volume factors; manufacturer source).
- Volume examples: Washington State DOH (Pool Equipment, D. DeLong); Florida Solar Energy Center (UCF), FSEC-IN-23-83; City of Akron, How to calculate the gallons in a swimming pool; Tulsa Health Department, Pool Operators Permit Instruction Manual; Columbus Public Health, Pool & Spa Safety appendix; North Carolina DHHS, Basic Pool Plan Review Calculations; SPASA Australia handover booklet and a water-utility handout (secondary sources).
- CCOHS, Swimming pool chemicals.
Disclaimer: GoodToSwim.com gives estimates for home (residential) chlorine pools based on published primary sources. It does not cover spas, hot tubs or bromine, and it does not report water quality at beaches, lakes, rivers or other open water. It never tells you that your water is safe to swim in. Results depend on your test accuracy, your pool volume and the real strength of your product. They do not replace the product label, local health regulations or a qualified pool professional. Public and commercial pools must follow local code.