pH Adjustment & Chemical Dosing Calculator
Estimate the acid or alkali dose needed to move water from an initial pH to a target pH. See chemical consumption, alkalinity changes, added constituents and a calculated titration curve.
pH alone does not determine a dose. Alkalinity describes the water’s acid-neutralizing capacity. Use a measured alkalinity where available, or compare clearly labelled assumptions in the scenario mode.
This calculator models dilute freshwater, carbonate buffering and immediate treatment without CO₂ exchange, at 5–40 °C and initial/target pH 4–11. It does not calculate activity corrections, other buffers, gas transfer, mineral precipitation or reaction heat.
Required chemical dose and consumption
Selected chemical: . Target pH: . Alkalinity used: mg/L as CaCO₃. All costs use .
| Active chemical (100% equivalent), mg/L | |
|---|---|
| Effective acid/base demand at target pH, meq/L | |
| Commercial liquid product, mg/L | |
| Commercial product, kg/h | |
| Commercial product, L/h | |
| Daily commercial product, kg/day | |
| Daily commercial product, L/day | |
| Annual commercial product, tonnes/year | |
| Annual commercial product, L/year | |
| Reference dosing capacity with entered margin, L/h | |
| Chemical cost per operating hour (EUR) | |
| Chemical cost per operating day (EUR) | |
| Chemical cost per m³ treated (EUR) | |
| Chemical cost per 1,000 m³ treated (EUR) | |
| Annual chemical cost (EUR) |
Alkalinity scenario comparison
| Scenario | Assumed alkalinity mg/L as CaCO₃ | Active chemical mg/L | Commercial product L/h |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
Calculated titration curve
The graph shows the selected chemical’s active dose in mg/L, not commercial solution volume. The target marker uses the selected measured-water result or scenario. Curves extend beyond the target to show the nonlinear response, stopping at the model limits of pH 4 and 11; this is not a recommendation to overdose. CSV cells outside those limits are left blank. Move over the graph or use the slider to read the selected curve.
Blue: measured-alkalinity calculation. Black marker: target.
- Blue: scenario 1
- Orange: scenario 2
- Purple: scenario 3
Black marker: target for the selected scenario.
Active dose: mg/L. Calculated pH: .
Effect on water chemistry
| Parameter | Feed | Treated |
|---|---|---|
| pH | ||
| Modeled total alkalinity, mg/L as CaCO₃ | ||
| Bicarbonate, mg/L as HCO₃ | ||
| Carbonate, mg/L as CO₃ | ||
| Dissolved CO₂*, mg/L as CO₂ | ||
| Carbonate/water alkalinity, mg/L as CaCO₃ | Same as modeled feed alkalinity |
Added constituent: . Addition: mg/L.
Methodology & limitations
How the calculator turns pH, alkalinity and temperature into a chemical dose, and how that dose becomes commercial-product consumption and cost.
pH, alkalinity and carbon balance
pH describes hydrogen-ion activity; alkalinity measures acid-neutralizing capacity. In this ideal dilute-water approximation, activity coefficients are set to one. Carbonate/water alkalinity is [HCO₃⁻] + 2[CO₃²⁻] + [OH⁻] − [H⁺], with concentrations in mol/L and alkalinity in eq/L. One meq/L corresponds to 50 mg/L as CaCO₃.
The initial pH, temperature and measured or assumed alkalinity determine the model’s dissolved inorganic carbon. At the target pH, that same carbon is redistributed among CO₂*, bicarbonate and carbonate, and the difference in alkalinity determines acid or base demand. CO₂* combines dissolved CO₂ and carbonic acid. The water and carbonate equilibrium constants vary with temperature using the USGS PHREEQC database expressions.
Chemical equivalents and added constituents
HCl and HNO₃ provide one modeled acid equivalent per mole; NaOH and KOH provide one base equivalent per mole. Sulfuric acid’s second dissociation is included in the pH calculation, so it is not assigned an unconditional two available protons at every pH. The amount of sulfate remaining as bisulfate explains the distinction between modeled total alkalinity and carbonate/water alkalinity.
Active dose is converted to commercial product mass using the entered mass fraction, then to liquid volume using the entered product density. For example, product kg/h equals product mg/L × flow m³/h ÷ 1,000. Daily and annual totals use the entered hours. Costs refer only to chemical purchase; they exclude equipment, energy, labor and other operating costs.
Model scope and limitations
The calculation assumes constant temperature, complete mixing, no CO₂ exchange with air and no precipitation or dissolution. It neglects volume change and is rejected if calculated liquid-product addition exceeds 1% of the water flow. Dissolved inorganic carbon is conserved for the supported chemicals. An aerated tank, degasser or atmospheric-equilibrium calculation requires a different carbon balance and can give a different final pH.
Citric acid, CO₂ dosing, lime, soda ash, bicarbonate, full water-analysis speciation and RO concentrate prediction require additional chemistry and are not represented by this strong-acid/strong-base model. The graph is a calculated equilibrium curve, not a measured titration. A measured titration can identify missing buffering that this carbonate-only model cannot infer.
Use the Water Scaling & Precipitation Calculator as a separate screening tool, with an appropriate complete analysis and its own temperature limitations. This dosing calculator does not automatically establish scaling risk or calculate an RO concentrate. Sulfuric acid adds sulfate; acid choice can therefore change downstream scaling considerations even when it lowers carbonate scaling tendency.
Calculation sequence and exact equations
Let H = 10−pH, with concentrations in mol/L. Under the ideal dilute-water assumption, hydrogen-ion activity is approximated by concentration and activity coefficients are one. CT is dissolved inorganic carbon, combining CO₂*, HCO₃⁻ and CO₃²⁻. Define:
D = H² + K1 × H + K1 × K2 α0 = H² / D α1 = K1 × H / D α2 = K1 × K2 / D [CO₂*] = CT × α0 [HCO₃⁻] = CT × α1 [CO₃²⁻] = CT × α2 [OH⁻] = Kw / H Acarbonate = CT × (α1 + 2 × α2) + Kw / H − H
The code uses the conventional rounded conversion A0 (eq/L) = alkalinity (mg/L as CaCO₃) / 50,000; one meq/L is treated as 50 mg/L as CaCO₃. At the initial pH:
CT = (A0 − Kw/H0 + H0) / (α1,0 + 2 × α2,0) ΔA = Acarbonate(target pH, CT) − A0
Positive ΔA requires base; negative ΔA requires acid. CT stays fixed during dosing. The calculation therefore represents immediate equilibrium in a closed carbon system at constant temperature. It does not predict the later pH after aeration or CO₂ loss.
Temperature-dependent constants
The implementation uses T in kelvin (°C + 273.15) and the analytical form F(T) below. These are the coefficients currently embedded in the calculator; they do not reproduce every reaction or activity correction in a PHREEQC database.
F(T) = a1 + a2×T + a3/T + a4×log₁₀(T) + a5/T² + a6×T²
| Expression | a1 | a2 | a3 | a4 | a5 | a6 |
|---|---|---|---|---|---|---|
| L2 | 107.8871 | 0.03252849 | −5151.79 | −38.92561 | 563713.9 | 0 |
| LC | 464.1965 | 0.09344813 | −26986.16 | −165.75951 | 2248628.9 | 0 |
| LW | 293.29227 | 0.1360833 | −10576.913 | −123.73158 | 0 | −0.00006996455 |
K1 = 10^(L2 − LC)
K2 = 10^(−L2)
Kw = 10^LW
pKs = 1.988 − [3.85 × 4184 / (ln(10) × 8.314462618)]
× (1/T − 1/298.15)
Ks = 10^(−pKs)
Ks describes the modelled HSO₄⁻ ⇌ H⁺ + SO₄²⁻ dissociation; 3.85 is the embedded enthalpy value in kcal/mol, converted using 4,184 J/kcal. These constants are applied only within the interface’s 5–40 °C range.
Acid/base equivalents and sulfuric acid
For HCl, HNO₃, NaOH and KOH, the chemical amount n (mol/L) equals |ΔA|. Their modelled equivalent count is one per mole. For H₂SO₄, the first proton is treated as fully available and the fraction of the second released at the target pH is Ks/(Ks + H):
q(target pH) = 1 + Ks / (Ks + Htarget) nH₂SO₄ = |ΔA| / q(target pH) Active dose (mg/L) = n × molecular weight (g/mol) × 1000 Added constituent (mg/L) = n × constituent mass (g/mol) × 1000
For sulfuric acid, treated modelled total alkalinity is A0 − 2n, while carbonate/water alkalinity is A0 − qn. Their difference is the negative bisulfate contribution. “Effective acid/base demand” reports |ΔA| × 1,000 in meq/L. Added sulfate is total introduced sulfate expressed as SO₄, not just free SO₄²⁻.
The embedded molecular weights (g/mol) are HCl 36.4609, H₂SO₄ 98.079, HNO₃ 63.012, NaOH 39.997 and KOH 56.1056. Constituent masses are Cl 35.453, SO₄ 96.06, NO₃ 62.004, Na 22.9898 and K 39.0983. Existing ions in the feed are not inferred or added to these incremental constituent results.
For a custom strong acid/base, the entered equivalent weight replaces molecular weight in the one-equivalent calculation. Its accompanying constituent is undefined. This option does not represent weak acids, carbon-containing reagents, mixed products or solids requiring dissolution.
Commercial solution, operating schedule and cost
Let f be active mass fraction (% w/w / 100), ρ product density in kg/L, Q water flow in m³/h, hd operating hours/day, hy annual hours, p price per kg commercial product, and m the capacity margin in percent:
Product dose (mg/L) = active dose / f Product kg/h = product dose × Q / 1000 Product L/h = product kg/h / ρ Product kg/day = product kg/h × hd Product L/day = product L/h × hd Product tonnes/year = product kg/h × hy / 1000 Product L/year = product L/h × hy Reference capacity (L/h) = product L/h × (1 + m/100) Weekly-schedule annual hours = hd × operating days/week × 52 Cost/hour = product kg/h × p Cost/day = cost/hour × hd Cost/year = cost/hour × hy Cost/m³ = product dose × p / 1000 Cost/1000 m³ = product dose × p
Direct annual-hours entry overrides the weekly estimate. Daily totals still use entered daily hours. The code rejects annual hours above daily hours × 366. The margin affects reference capacity only; it does not increase predicted consumption. Currency selection changes the cost label and clears prices; no exchange-rate conversion occurs. A blank price leaves costs unassessed.
Commercial-product comparisons use the same selected water/scenario and target pH, with each product’s concentration, density and price. These inputs describe different commercial formulations; equal target pH does not mean identical added ions or downstream suitability.
Titration curve and numerical solution
For each active dose, the code solves for pH by 75 bisection iterations over a numerical bracket of pH 0–14. The balance equates the carbonate/water alkalinity change to the effective reagent equivalents; sulfuric acid’s q is recalculated at each candidate pH. Only curve values within the displayed model range pH 4–11 are retained.
The graph uses 181 evenly spaced dose samples up to 1.25 times the largest target dose among the cases, with target and pH-boundary points added when applicable. The probe selects a nearby calculated sample. CSV export uses 181 evenly spaced samples and leaves pH values outside 4–11 blank. The 1.25 plotting factor is separate from the user’s equipment-capacity margin.
Input screening and rejection limits
- Initial and target pH 4–11; temperature 5–40 °C; alkalinity 0–1,000 mg/L as CaCO₃ (or 0–20 meq/L).
- A negative inferred CT below the −10⁻¹² mol/L numerical tolerance is rejected; tiny negative values within that tolerance are set to zero. CT above 0.05 mol/L is rejected.
- Entered TDS above 2,000 mg/L and effective demand above 25 meq/L are rejected. The TDS cutoff is a screening choice, not an activity correction or proof of accuracy below it.
- Liquid-product volume above 1% of water flow is rejected; above 0.1% a volume-change warning appears. These limits do not replace a dilution/mixing calculation.
- Product concentration must be 0.01–99.99% w/w and density 0.5–3 kg/L. Being inside those input limits does not establish that a formulation is commercially available or physically consistent.
Scenario mode calculates the three user-entered alkalinities separately and uses the explicitly selected scenario for detailed results. They are sensitivity cases, not inferred water analyses. An invalid scenario can prevent the combined calculation; review all three inputs.
Verification status and reproducible example
The equations can be checked independently, but no laboratory dataset or quantified engineering accuracy claim is supplied here. A successful numerical calculation is not validation for a particular water. Compare against a measured titration or a suitable speciation model, matching temperature, concentration basis and closed/open CO₂ conditions.
For the 100 m³/h example (initial pH 7.8, target 6.5, 20 °C, alkalinity 180 mg/L as CaCO₃, HCl 33% w/w and density 1.16 kg/L), the implemented model gives CT = 3.726786 mmol/L, effective demand 1.484625 meq/L, active HCl 54.13078 mg/L, commercial solution 164.03267 mg/L and 14.14075 L/h. At 24 h/day, 5 days/week and 52 weeks, annual consumption is 102.3564 tonnes of commercial solution. A 25% capacity margin gives 17.67593 L/h reference capacity. Small differences in displayed precision follow the interface’s rounding.
Methodology documentation v1.0 · prepared 24 October 2026. Documents the current calculation engine without changing its numerical behaviour. Preset concentrations, densities and prices remain editable assumptions; confirm the actual commercial product.
References and related tools
USGS equilibrium constants and temperature expressions; USGS gas-phase modeling; USGS alkalinity guidance. Reference product data: NEB acid/base reference table and ITW sodium hydroxide solution data. Confirm actual product concentration and density with the supplier.
Check water-analysis charge balance · All calculators · Discuss a dosing system with Lenntech
Warning: Lenntech BV cannot be held responsible for errors in the calculation, the program itself or the explanation. For questions or remarks please contact Lenntech.