Batch volume & source water.
Salts are dosed across the total water, so mash and sparge reach the same profile. The split feeds the mash-pH estimate and the sparge-acid suggestion further down.
Most brewers start from RO/distilled or type in their own local water report (e.g. a Ward Labs test). All figures are ppm (mg/L). Bicarbonate (HCO₃) is your alkalinity — if your report lists alkalinity "as CaCO₃," multiply it by 1.22 to get HCO₃.
Cutting hard tap water with RO is often the easiest way to reach a soft target. The table below uses the diluted source.
What are you aiming at?
Brewing salts.
Auto-fit is a least-squares starting point using the five common salts — it gets you close, then trust your palate and notes from there. Enter grams directly to override anything.
Resulting water
| Ion | Source | Added | Result | Target | vs target |
|---|
Grist & mash pH
estimateYour grain bill.
Each malt carries a distilled-water mash pH you can edit — override it with your maltster's figure when you have one. The estimate uses your treated mash water's alkalinity against the grist's buffering, good to roughly ±0.1–0.15 pH. Always confirm on brew day with a meter.
How the numbers are worked out
Each salt is dosed as ppm = grams × (ppm per g/L) ÷ liters. The per-gram ion yields come straight from molar mass: gypsum (CaSO₄·2H₂O) gives 232.8 Ca and 557.9 SO₄ per g/L; calcium chloride (CaCl₂·2H₂O) 272.6 Ca / 482.3 Cl; Epsom salt (MgSO₄·7H₂O) 98.6 Mg / 389.8 SO₄; table salt (NaCl) 393.4 Na / 606.6 Cl; baking soda (NaHCO₃) 273.7 Na / 726.4 HCO₃. Divide any of those by 3.785 for the per-gram-per-US-gallon figure.
The sulfate-to-chloride ratio is a balance dial, not a hard rule — sulfate accentuates hop bitterness and dryness, chloride rounds out malt and body. Residual alkalinity follows Kolbach: RA = alkalinity − (Ca ÷ 1.4 + Mg ÷ 1.7), all as CaCO₃, where alkalinity = HCO₃ × 0.82. Low/negative RA suits pale beers; high RA balances the acidity of dark, roasty grists.
Mash pH uses the Kolbach/Troester proton-balance approach. Each malt has a distilled-water mash pH and a buffering capacity (β, in mEq per kg per pH unit, typically ~30–60); the grist's starting pH is the β-weighted average of those values. The mash water's residual alkalinity then shifts pH by (RA in mEq/L × mash litres) ÷ total buffering, where RA mEq/L = RA as CaCO₃ ÷ 50 — which is why adding gypsum or calcium chloride (raising calcium, lowering RA) pulls mash pH down. Acidulated malt is treated as ≈3% lactic by weight (~333 mEq/kg). The acid to reach your target is mEq = (estimated pH − target) × total buffering, divided by the acid's strength (≈11.8 mEq/mL for 88% lactic).
Teaspoon conversions are rough — salts vary by crystal size and how packed the spoon is, and calcium chloride is hygroscopic, so weigh on a gram scale whenever you can.
City profiles are historical references and vary widely by source and year — Burton-on-Trent in particular is extreme (≈600+ ppm sulfate) and brewing it literally can taste minerally; most brewers dial sulfate back toward 250–350 ppm for hoppy ales. Water profiles draw on Palmer and Noonan's Brewing Lager Beer; the mash-pH malt constants follow Kai Troester's work at braukaiser.com and Riffe & Spencer's grist-buffering measurements. Treat every preset and default as a launch pad, then adjust to taste and verify pH at the mash.
This site uses Umami, a privacy-friendly analytics tool — no cookies, no cross-site tracking, no personal data collected.