Water solver
Start from your actual water — not a blank page. Stage A checks your water report for the errors that silently wreck it. Stage B solves the additions for a target profile, using only the salts on your shelf, in the exact form you bought them.
Why a solver, when the liquor builder exists
The liquor builder starts from distilled water and a full shelf. This engine starts where you actually are: tap water with minerals already in it, half the salts missing, and a bag of calcium chloride whose label matters more than you'd think. It also shows its misses — every ion it can't land is printed as a residual, not hidden.
Notes
- The unit traps: sulfate is reported as SO₄ by some labs and as SO₄-S (just the sulfur) by others — a factor of 2.9964 apart. Alkalinity comes as CaCO₃ or as bicarbonate (HCO₃), a factor of 1.2193 apart. Nitrate as NO₃ vs NO₃-N differs by 4.4266. Pick the form your report uses; the conversions are exact ratios of molar masses. The charge-balance check works because a real water sample is electrically neutral: add up the cations and anions in milliequivalents and they must roughly agree. BrewPhase divides by the sum of the two, so a perfectly balanced report reads 0 %.
- Utility reports are often annual averages and can differ from today's tap, especially where the supply switches sources seasonally; a recent lab test is more reliable. The paste reader is a convenience, not a transcription service — it fills the grid, and the grid is yours to correct. Nothing it reads is used until you can see it in a box.
- The hydrate lock. Calcium chloride is sold as the dihydrate (CaCl₂·2H₂O, the common bag) and as anhydrous CaCl₂. Per gram, the anhydrous salt carries about 32 % more chloride. Dose anhydrous salt by dihydrate math and a 100 mg/L chloride target lands at about 132 mg/L. So the shelf makes you name the form, the math uses that form's molar mass, and the form is printed on the brew-day card where future-you can argue with it. Molar masses for every shelf item are printed next to it, and in the project spec.
- No chalk. Chalk (CaCO₃) barely dissolves in water and delivers an unpredictable share of its theoretical alkalinity — the liquor builder reports its theoretical value with a warning because it solves a different problem (a target you type in, from RO). A solver promising per-ion residuals can't include a salt whose contribution is a guess, so chalk is excluded here. Need alkalinity with calcium? Slaked lime. Alkalinity alone? Baking soda. Slaked lime is caustic: gloves and eye protection, add it to water slowly, and store it sealed and dry.
- Acid figures are product-label values: lactic acid 88 % at 1.209 g/mL works out to 11.81 meq/mL; phosphoric acid 85 % at 1.685 g/mL to 14.62 meq/mL, counting phosphoric as one equivalent per mole — at brewing pH, the first proton is the one that lands. Check your bottle's strength; a different strength changes the dose in proportion. This acid neutralizes water alkalinity toward the target profile; acid dosed to the mash itself is the mash pH estimator's territory. The acid also adds a little lactate or phosphate of its own, which is not tracked as an ion here.
- Teaspoons are a convenience, grams are the answer. Spoon densities vary with grind and packing, and this site's density table hasn't been pinned by weighing yet — so salt spoon figures read "weigh it" rather than inventing a number. Acid teaspoons are computed from the exact mL figure (1 US tsp = 4.93 mL), rounded to the nearest quarter.
- Handle slaked lime (calcium hydroxide) with care: it is caustic, irritates skin and eyes, and heats up as it dissolves. Homebrewing beer for personal use is legal federally in the US; check your state and local laws.