Why water is 90% of your cup (literally)
Brewed coffee is somewhere between 98% and 99% water by weight. Every flavor compound you paid for — the acidity, the sweetness, the body — is being extracted into, carried by, and ultimately tasted through that water. Christopher Hendon and Maxwell Colonna-Dashwood's book Water for Coffee was the first widely-read work to make the coffee world take this seriously as chemistry rather than folklore: the specific dissolved minerals in your water — not just how "clean" it tastes on its own — measurably change how much flavor gets extracted from the same beans, same grind, same brew method. Two baristas can run an identical recipe on the identical bag of coffee and get a noticeably different cup purely because their tap water differs.
That's the entire premise of this page: water isn't a neutral solvent, it's an active ingredient, and it's the one variable most home brewers never touch at all.
The two numbers that matter: GH and KH
Water hardness for brewing purposes comes down to two figures, both conventionally reported "as CaCO₂" (calcium carbonate equivalent) in parts per million:
- GH (general hardness) — mostly calcium (Ca²⁺) and magnesium (Mg²⁺). These divalent metal ions are what actually bind to and help pull flavor compounds — acids, sugars, aromatics — out of the ground coffee during brewing. Calcium tends to read as body and sweetness; magnesium reads more as brightness and fruit-forward acidity, which is why this tool's Recipe Builder models GH specifically via magnesium (Epsom salt) — it's the more expressive lever for specialty coffee's fruited, acidic profiles.
- KH (carbonate hardness, alkalinity, or "buffer") — mostly bicarbonate (HCO₃⁻). Buffer resists pH change. A little is stabilizing; too much actively fights the acids coffee is releasing as it extracts, neutralizing them and flattening the cup's brightness. It's also the mineral most directly responsible for limescale, since heated bicarbonate precipitates into solid calcium carbonate inside boilers and lines.
The SCA (Specialty Coffee Association) Water Quality Standard targets roughly 68 ppm GH (about 4 grains, described as "medium-soft") with an acceptable range of 50–175 ppm, and a KH range of 40–75 ppm — deliberately lower than GH, so there's enough buffer to keep brewing stable without smothering acidity. That's the target every default on this page is built around.
Three ways to get there
This page is one instrument with three modes, because "the right water" means different things depending on what you're starting from:
- Unit Converter — if you've already got a reading from a test strip, a TDS/hardness meter, or a bottled water's label, but it's in a unit you don't normally think in (German degrees, US grains per gallon, millimoles per liter), this tab translates it instantly, bidirectionally, in any direction.
- Recipe Builder — the most precise route: start from distilled or reverse-osmosis water (0 ppm, a truly blank canvas) and dose in exactly the Epsom salt and baking soda needed to land on your target GH and KH. This is the same approach behind commercial "third-wave water" mineral packets, just transparent about the actual chemistry and dosed to YOUR target instead of a fixed one.
- Bottled Blend — the no-scale route: if you'd rather buy water than weigh minerals, blending two bottled waters (or one bottled water with distilled) can hit a target GH and KH simultaneously, using the same linear-algebra idea a chemist would use to titrate a solution.
The Recipe Builder, in detail
Starting from distilled water removes every unknown — whatever's in your tap water (chlorine, fluoride, an unpredictable Ca:Mg:HCO₃ ratio you don't control) simply isn't there anymore. From that blank slate, two food-safe minerals do all the work:
- Epsom salt (magnesium sulfate heptahydrate, MgSO₄·7H₂O) supplies the Mg²⁺ that drives GH. It's inexpensive, widely available, and its sulfate counter-ion is flavor-neutral at these concentrations.
- Baking soda (sodium bicarbonate, NaHCO₃) supplies the HCO₃⁻ that drives KH directly — no conversion needed, since baking soda's whole job as a leavening agent already IS being a bicarbonate source.
The dose for each is derived from its molar mass using the "equivalent weight" method (see "How the math works" above) — the same method any water-testing lab uses to express an ion concentration "as CaCO₂". Because the resulting direct doses are genuinely tiny (a fraction of a gram per liter), the tool also shows a practical stock-solution version: dissolve a scale-friendly amount in 1 L of water once, then dose small, syringe-measurable milliliters of that stock into each batch of brewing water going forward. This mirrors the approach Barista Hustle has published for exactly this reason — our 1.68 g/L baking-soda stock figure, worked out independently from first-principles molar masses above, lines up with their published number almost to the decimal.
The Bottled Blend, in detail
Not everyone wants to keep Epsom salt and baking soda stock bottles in the fridge. Bottled water is a reasonable shortcut — but a single bottled water rarely lands exactly on the SCA target, because its GH-to-KH ratio is fixed by whatever aquifer it came from. Volvic, for instance, is soft on both axes; evian is hard on both. Neither alone sits inside the SCA box.
Blending two DIFFERENT waters (plus distilled to top up) gives two independent levers instead of one, which is usually enough to solve for both GH and KH at once — the same 2-equation, 2-unknown system a chemist solves when titrating a mixture to a target concentration. When a chosen pair genuinely can't reach the target (the target sits outside the region the two waters can reach through a non-negative blend), the tool says so honestly and shows the closest reachable blend instead of quietly forcing a number that isn't real.
Scale risk: a qualitative note
Because KH (buffer/bicarbonate) is the direct precursor to limescale, brewing water on the higher end of — or above — the SCA's KH range will generally scale a machine faster than water at or below it, all else equal. This page treats that relationship qualitatively; it is not an LSI (Langelier Saturation Index) calculator, which would need temperature, pH and full mineral content together to predict an actual scaling or corrosion rate for a specific machine. Whatever water you land on here, routine descaling is still the right maintenance habit — see our descaling guide for the chemistry and a machine-by-machine protocol.
Methodology & limitations
- Atomic weights are rounded to 1 decimal (Mg 24.3, Na 23.0, etc.) — appropriate for a DIY kitchen recipe, not a certified lab analysis. The molar masses and full derivation are documented in this tool's source and test suite for anyone who wants to check the arithmetic.
- GH is modeled via magnesium only, not a calcium/magnesium split — a deliberate simplification that matches how most published DIY coffee-water recipes work, and keeps the Recipe Builder to two concentrates instead of three.
- The mineral table is a small, curated set, sourced from each brand's own published mineral analysis (see the citations under "How the math works" and the source code). Bottled water mineral content can vary batch-to-batch and by bottling source — treat the Bottled Blend tab as a strong starting point, not a guaranteed lab-exact result.
- This is a flavor and scale-risk tool, not a safety or medical one. Use food-grade minerals only, and see the disclaimer above.
For the brewing side of the equation once your water's dialed in, our Brew Ratio Studio and Espresso Dial-In Lab turn a good water base into a locked-in recipe, and our specialty coffee lineup gives that water something worth extracting.


