Water Chemistry & Mineral Buffers
Coffee water concentrates: labels, units and limits
The hydration state of a salt changes how much mineral a gram provides.

Before you start
The hydration state of a salt changes how much mineral a gram provides. A recipe for magnesium sulfate heptahydrate cannot be transferred gram-for-gram to an anhydrous product. Use ingredients explicitly suitable for the intended potable-water use, clean containers and unambiguous labels.
Trying to weigh milligrams of mineral salts directly into a single liter of brew water requires an analytical lab balance (0.001 g readability) and tedious daily measuring. Instead, the cleanest, most repeatable method used by competition baristas and home coffee labs is the Two-Bottle 1,000 ppm as CaCO₃ Stock Concentrate Method.
By dissolving precise gram quantities of food-grade or USP-grade mineral salts into two separate 1.0 L bottles of distilled or zero-TDS Reverse Osmosis (RO) water, you create liquid concentrates where 1.0 mL (or 1.0 g) of concentrate added to 1.0 L of distilled water increases its GH or KH by exactly 1.0 ppm as CaCO₃. You can generate custom recipes for any target water volume in our Coffee Water Chemistry (GH/KH) & Grind Micron Matrix.
1. Stoichiometric Math of Common Coffee Mineral Salts
Why do specific weights of Epsom salt, calcium chloride, or baking soda produce specific ppm as CaCO₃ values? Every salt has a fixed molar mass (M_salt) and releases one divalent cation (Mg²⁺ or Ca²⁺, equivalent weight = 1 mol CaCO₃ per mol salt) or one monovalent bicarbonate ion (HCO₃⁻, where 2 mol HCO₃⁻ = 1 mol CaCO₃ equivalent, meaning 1 mol NaHCO₃ = 0.5 mol CaCO₃ equivalent = 50.043 g CaCO₃).
Using exact IUPAC atomic weights (CaCO₃ = 100.087 g/mol):
A. Magnesium Sulfate Heptahydrate — Epsom Salt (MgSO₄ · 7H₂O)
- Molar Mass:
246.475 g/mol(note that51.2%of the crystal’s weight is seven waters of hydration!) CaCO₃Equivalent Factor:(100.087 g/mol) / (246.475 g/mol) = 0.4061 g CaCO₃ per g salt1.000 g/Lyields:406.1 ppm GH as CaCO₃(98.6 mg/L Mg²⁺and389.6 mg/L SO₄²⁻)- Grams needed per
1.0 Lfor a1,000 ppm as CaCO₃Concentrate:(1000) / (406.1) = 2.462 g/L
B. Calcium Chloride Dihydrate (CaCl₂ · 2H₂O)
- Molar Mass:
147.015 g/mol CaCO₃Equivalent Factor:(100.087 g/mol) / (147.015 g/mol) = 0.6808 g CaCO₃ per g salt1.000 g/Lyields:680.8 ppm GH as CaCO₃(272.6 mg/L Ca²⁺and482.3 mg/L Cl⁻)- Grams needed per
1.0 Lfor a1,000 ppm as CaCO₃Concentrate:(1000) / (680.8) = 1.469 g/L(Note: If using anhydrousCaCl₂with molar mass110.98 g/mol, use1.109 g/L; however, anhydrousCaCl₂is aggressively hygroscopic and absorbs atmospheric moisture as soon as the container is opened, making the dihydrate form much more accurate to weigh.)
C. Sodium Bicarbonate — Baking Soda (NaHCO₃)
- Molar Mass:
84.007 g/mol CaCO₃Equivalent Factor:(50.0435 g/mol) / (84.007 g/mol) = 0.5957 g CaCO₃ per g salt1.000 g/Lyields:595.7 ppm KH as CaCO₃(273.7 mg/L Na⁺and726.3 mg/L HCO₃⁻)- Grams needed per
1.0 Lfor a1,000 ppm as CaCO₃Concentrate:(1000) / (595.7) = 1.679 g/L
D. Potassium Bicarbonate (KHCO₃)
- Molar Mass:
100.115 g/mol CaCO₃Equivalent Factor:(50.0435 g/mol) / (100.115 g/mol) = 0.4999 g CaCO₃ per g salt1.000 g/Lyields:499.9 ppm KH as CaCO₃(390.5 mg/L K⁺and609.5 mg/L HCO₃⁻)- Grams needed per
1.0 Lfor a1,000 ppm as CaCO₃Concentrate:(1000) / (499.9) = 2.001 g/L
2. How to Prepare the Two-Bottle 1,000 ppm Stock Concentrates
Using a 0.01 g precision scale and two clean 1.0 L glass or HDPE bottles, prepare your stock solutions as follows:
- Bottle #1 — General Hardness (
GH) Stock Concentrate (1,000 ppm as CaCO₃):- For a 100% Magnesium (
MgSO₄) hardness stock: Weigh2.46 gof food-grade Epsom salt (MgSO₄ · 7H₂O) into a bottle and add distilled water until the total solution mass reaches1,000 g. - Or, for a 60% Magnesium / 40% Calcium blended hardness stock: Weigh
1.48 gof Epsom salt (MgSO₄ · 7H₂O) plus0.59 gof Calcium Chloride Dihydrate (CaCl₂ · 2H₂O) into the bottle and top up with distilled water to1,000 g.
- For a 100% Magnesium (
- Bottle #2 — Carbonate Alkalinity (
KH) Stock Concentrate (1,000 ppm as CaCO₃):- Weigh
1.68 gof pure Sodium Bicarbonate (NaHCO₃, baking soda) — or2.00 gof Potassium Bicarbonate (KHCO₃) if you prefer a zero-sodium buffer — into the second bottle and add distilled water until the total solution mass reaches1,000 g.
- Weigh
Why must GH and KH stay in two separate stock bottles? If you mix concentrated Ca²⁺ or Mg²⁺ ions with concentrated HCO₃⁻ ions at 1,000 ppm strength, the ion activity product far exceeds the solubility product constant (K_sp) of calcium carbonate, causing white chalk (CaCO₃) to precipitate out of the concentrate within hours. Once diluted down into your 1.0 L or 4.0 L brewing jug at 30–80 ppm, both minerals remain completely soluble.
3. Five Benchmark DIY Coffee Water Recipes (Per 1.0 L and Per 1 US Gallon)
Using the two 1,000 ppm as CaCO₃ concentrates above, every 1.0 g (or 1.0 mL) of concentrate added to 1.0 L (1,000 g) of distilled water adds exactly 1.0 ppm as CaCO₃. The table below provides five example water formulations for both 1.0 L kettles and 1 US Gallon (3.785 L) jugs:
| Recipe Name & Best Use Case | Target GH (ppm CaCO₃) |
Target KH (ppm CaCO₃) |
per 1.0 L Distilled: Add GH Stock |
per 1.0 L Distilled: Add KH Stock |
per 1 Gal (3.785 L): Add GH Stock |
per 1 Gal (3.785 L): Add KH Stock |
|---|---|---|---|---|---|---|
| 1. Melbourne / Light Filter (Floral Geisha & Washed Kenyan) | 45 ppm |
18 ppm |
45.0 g |
18.0 g |
170.3 g |
68.1 g |
| 2. Barista Hustle #4 / Classic Filter (All-Purpose Pour-Over) | 80 ppm |
40 ppm |
80.0 g |
40.0 g |
302.8 g |
151.4 g |
| 3. SCA Golden Cup Standard (Cupping & Balanced Drip) | 68 ppm |
40 ppm |
68.0 g |
40.0 g |
257.4 g |
151.4 g |
4. Pavlis / Hendon Scale-Free Espresso (Mg-only + Buffer) |
55 ppm |
45 ppm |
55.0 g |
45.0 g |
208.2 g |
170.3 g |
| 5. High-Buffer Dark & Natural Espresso (Tames Heavy Roasts) | 75 ppm |
55 ppm |
75.0 g |
55.0 g |
283.9 g |
208.2 g |
(Note: For exact gravimetric accuracy when dosing 80 g of GH stock and 40 g of KH stock into a 1.0 L batch, tare your 1.0 L vessel, pour 80.0 g of GH stock, pour 40.0 g of KH stock, and add 880.0 g of distilled water so the total batch weight equals exactly 1,000.0 g.)
4. Balancing Sulfate (SO₄²⁻) vs. Chloride (Cl⁻) Counter-Anions
Whenever you add Mg²⁺ or Ca²⁺ via a mineral salt, you also introduce its negatively charged counter-ion—usually sulfate (SO₄²⁻) from Epsom salt or chloride (Cl⁻) from calcium or magnesium chloride:
- Sulfate (
SO₄²⁻) is relatively inert in filter coffee at concentrations below100 mg/L, though at high levels (> 150 mg/L) it can impart a slightly crisp, dry, mineral finish. - Chloride (
Cl⁻) enhances perceived sweetness, roundness, and mouthfeel fullness at moderate concentrations (20–50 mg/L), which is why our 60/40MgSO₄ + CaCl₂blended hardness stock produces a noticeably rounder cup than pure Epsom salt alone. - Crucial Stainless Steel Corrosion Warning: Never exceed
30–50 mg/Lof chloride (Cl⁻) inside stainless steel (AISI 304 or 316L) espresso boilers! At120–128°Csteam boiler temperatures, high chloride levels trigger stress-corrosion cracking and pitting of stainless welds, a failure mode that cannot be fixed by descaling (see Espresso Boiler Scale Chemistry & Langelier Index). For stainless steel espresso machines, useMgSO₄as your primary hardness salt and keepCaCl₂dosing modest or zero.
Practical check: what to observe
Record source water, ingredient identity, stock concentration, amount added and final batch size. Account for the volume of concentrate in the final total. Keep brewing containers separate from household chemicals; a clear liquid alone does not tell you what is inside.
- Identify the exact salt form
- Measure final batch volume
- Check equipment compatibility
Can every espresso machine use a favorite brew-water recipe?
No. A recipe designed for a kettle is not a machine warranty or corrosion specification. Check the manufacturer’s requirements before putting custom water into a boiler or reservoir.
For more context, see the topic FAQ and glossary. A reference value or example should be read with its units, assumptions and product-specific conditions.
Sources and scope
The references below were supplied with the original manuscript. A reference is not evidence that every numerical claim has been independently checked. See the source library and our verification status.
- IUPAC – Compendium of Chemical Terminology & Standard Atomic Weights of the Elements
- Hendon, Colonna-Dashwood & Walsh – Divalent Cation Binding Enthalpies in Aqueous Coffee Extraction (J. Agric. Food Chem.)
- American Public Health Association (APHA) – Standard Methods for the Examination of Water and Wastewater (2320 Alkalinity & 2340 Hardness)
Put the explanation to work
Continue reading
Spot a questionable claim or a calculation issue? Read our correction process and contact information. Examples and illustrations are educational; they do not establish product suitability or a laboratory result.