Cup Engineering
The story of a brew · chapter 4 of 13 · Variables

Water Chemistry for Coffee

Coffee is 98 % water. Hardness, alkalinity and how to build a brewing water that flatters extraction.

4 min readwaterhardnessalkalinitymineralsTDS meter
Sources
5 cited, dated 2014–2018
Information collected
5 Sept 2026
Last reviewed
5 Sept 2026

A filter coffee at 1.3 % TDS is, by definition, about 98.7 % water1, and the minerals in that water are not passive. They change how compounds extract, how acids taste, and whether your kettle and espresso machine survive the year2.

The two numbers that matter

General hardness (GH) is the concentration of calcium and magnesium ions, expressed in ppm as CaCO₃2. These ions bind to flavour compounds and help carry them into the cup: a 2014 study by Hendon and the Colonna-Dashwoods modelled how strongly Mg²⁺, Ca²⁺ and Na⁺ bind to representative coffee compounds and found magnesium and calcium both bind strongly, magnesium slightly more so, while sodium barely does3. The common description of magnesium as "brighter, fruitier" and calcium as "body and sweetness" comes from tasting rather than from that chemistry, and is a practitioner claim4.

Alkalinity (KH) is the water's buffering capacity, mostly bicarbonate, also expressed as ppm CaCO₃. It neutralises acids2. Too much and a bright Kenyan tastes flat and chalky; too little and the same coffee is sharp and unbalanced4.

Neither is captured by a cheap "TDS pen", which measures total conductivity and can't tell you which minerals are present2. Use test strips, a titration kit, or your utility's water report.

Reference targets

SCA guidance Practical range
Total hardness (GH) 50–175 ppm CaCO₃ 60–100 ppm
Alkalinity (KH) at or near 40 ppm; 40–75 acceptable 30–50 ppm
TDS 75–250 ppm 75–150 ppm
pH 6.5–7.5 —
Sodium at or near 10 ppm as low as possible
Chlorine 0 0 — always filter

The SCA column is from the SCA Water Quality Handbook2. The practical column is the narrower band most specialty brewers use today45: moderate hardness, lowish alkalinity, magnesium-forward.

InteractiveWater map: hardness against alkalinity

Drag the two numbers that matter and see where the water lands. Hardness (calcium and magnesium) pulls flavour out; alkalinity (bicarbonate) buffers acidity. They need each other in proportion.

Balanced. Enough magnesium and calcium to extract well, enough bicarbonate to keep acidity pleasant rather than sharp, not enough to scale.
Epsom salt / L
197 mg
from distilled water
Baking soda / L
84 mg
from distilled water
0501001502002500100200300SCAflat, sharpdull, chalkyscale, heavybright, souralkalinity (KH), ppm CaCO₃ →hardness (GH), ppm CaCO₃ →
How this is computed: Axes are in ppm as CaCO₃. The shaded box is the SCA recommended range (total hardness ~50–175 ppm, alkalinity ~40–75 ppm, TDS 75–250 ppm, pH 6.5–7.5) and the descriptors follow the regions in Colonna-Dashwood and Hendon's hardness/alkalinity chart, whose mechanism — cations binding flavour compounds, bicarbonate neutralising acids — comes from Hendon's 2014 modelling. Salt recipe: Epsom salt (MgSO₄·7H₂O) at 1 g/L ≈ 406 ppm GH; baking soda (NaHCO₃) at 1 g/L ≈ 595 ppm KH, so mg/L = ppm ÷ 0.406 and ppm ÷ 0.595 respectively. Sources: [2] [3] [4]

What goes wrong

  • Distilled / RO water alone — nothing to carry flavour; brews taste hollow and thin3, and pure water is aggressive toward metal boilers2.
  • Very hard tap water — heavy scale, muted acidity, often a metallic edge. Kills espresso machines2.
  • High alkalinity — flattens acidity and makes light roasts taste dull and "baked"4.
  • Softened water (ion exchange) — sodium replaces calcium; sodium extracts poorly3 and the coffee tastes salty and flat4.

Building your own water

Start from distilled or RO water and add minerals. Two well-known approaches:

Rao / Perger style (per litre of distilled water)5

  • 0.1 g magnesium sulphate heptahydrate (Epsom salt) contributes ~41 ppm hardness
  • 0.05 g sodium bicarbonate contributes ~30 ppm alkalinity

Concentrate approach

Dissolve 24 g Epsom salt in 500 g water for a magnesium concentrate and 17 g baking soda in 500 g water for a buffer concentrate. Each gram of either concentrate added to a litre of distilled water adds about 20 ppm (GH from the first, KH from the second), so a few grams of each lets you tune GH and KH independently. See the arithmetic below.

Commercial mineral packets exist for people who'd rather not weigh milligrams.

Temperature and gas

Freshly boiled water has driven off dissolved oxygen and CO₂; that's fine. What you want to avoid is water that has been kept simmering for hours — it concentrates minerals through evaporation and tastes flat. This is practitioner advice5. Fresh water, brought to temperature once.

For espresso machines

Scale is calcium carbonate precipitating out of hard water at high temperature2. Aim for the lower end of hardness (60–80 ppm) and alkalinity (~40 ppm), or use a magnesium-forward recipe — magnesium carbonate is far more soluble than calcium carbonate and scales far less4. Check the manufacturer's water spec: some warn explicitly against very low alkalinity because it becomes corrosive to brass and copper; that is manufacturer guidance and the handbook makes the same point about corrosivity2.

How the numbers are computed

Everything here is stoichiometry, so you can check it with molar masses.

Converting ion concentrations to ppm as CaCO₃ (molar mass of CaCO₃ = 100.09 g/mol; each mg/L of an ion is scaled by 100.09 divided by the ion's equivalent mass):

GH (ppm CaCO₃) ≈ 2.497 × Ca (mg/L) + 4.118 × Mg (mg/L)
KH (ppm CaCO₃) ≈ 0.820 × HCO₃⁻ (mg/L)

What the two salts contribute per gram dissolved in a litre:

Epsom salt, MgSO₄·7H₂O   molar mass 246.47 g/mol; 1 g contains 98.6 mg Mg
                          → 98.6 × 4.118 ≈ 406 ppm GH as CaCO₃ per g/L
Baking soda, NaHCO₃      molar mass 84.01 g/mol;  1 g contains 726 mg HCO₃⁻
                          → 726 × 0.820 ≈ 596 ppm KH as CaCO₃ per g/L

So 0.1 g of Epsom salt in a litre gives 41 ppm GH and 0.05 g of baking soda gives 30 ppm KH, which is where the recipe above comes from. For the concentrates: 24 g Epsom in 500 g water is 4.8 % by mass, so 1 g of concentrate carries 0.048 g of salt, or 0.048 × 406 ≈ 19.5 ppm GH per gram per litre; 17 g baking soda in 500 g is 3.4 %, so 1 g carries 0.034 g, or 0.034 × 596 ≈ 20 ppm KH. To hit a target from distilled water: mg of Epsom salt per litre = GH ÷ 0.406; mg of baking soda per litre = KH ÷ 0.596. The interactive map above uses exactly these factors. Note that baking soda also adds sodium (about 274 mg per gram), so a 30 ppm KH recipe adds roughly 14 mg/L of sodium, comfortably near the SCA guidance2.

Sources

Numbered in order of first citation. Tier follows Cup Engineering's trust hierarchy: 1 peer-reviewed or formal standard, 2 institutional, 3 practitioner data, 4 press, 5 maker or roaster. “Checked” is when we last verified the reference.

  1. 1.
    Specialty Coffee Association. Specialty Coffee Association, 2018.
    Tier 1 · Peer-reviewed / standardChecked 5 Sept 2026Golden Cup: 18-22% extraction yield, 1.15-1.35% TDS (11.5-13.5 g/L), ~55 g/L ratio, 93 +/- 3 C. 'Coffee Standards' document revised 2018; restated in SCA Standard 310-2021 (Home Coffee Brewers).
  2. 2.
    Marco Wellinger, Samo Smrke, Chahan Yeretzian. Specialty Coffee Association (with ZHAW Coffee Excellence Center), 2018.
    Tier 2 · InstitutionalChecked 5 Sept 2026ISBN 978-0-9995807-3-8. Source for water targets (total hardness, alkalinity 40-75 ppm CaCO3, TDS 75-250 ppm). Guidance handbook rather than a numbered SCA standard, hence tier 2; SCA has since issued a revised edition.
  3. 3.
    Christopher H. Hendon, Lesley Colonna-Dashwood, Maxwell Colonna-Dashwood. Journal of Agricultural and Food Chemistry, 62(21), 4947-4950, 2014-05-28. doi:10.1021/jf501687c.
    Tier 1 · Peer-reviewed / standardChecked 5 Sept 2026DFT study of Mg2+, Ca2+, Na+ binding to coffee acids and flavour compounds; basis for the 'magnesium extracts more' claim in water chemistry.
  4. 4.
    Maxwell Colonna-Dashwood, Christopher H. Hendon. Independent Publishing Network (self-published), 2015.
    Tier 3 · Practitioner dataChecked 5 Sept 2026ISBN 9781782806080, 140 pp. Practitioner treatment of hardness/alkalinity with measurements; a second edition is sold via maxwelldashwood.com.
  5. 5.
    Matt Perger et al.. baristahustle.com, 2015.
    Tier 3 · Practitioner dataChecked 5 Sept 2026Founded by Matt Perger, launched Jan 2015; living resource. Used for extraction/TDS course material and the 'Towards a Common Coffee Control Chart' piece. Cite individual lessons where possible.