Water Chemistry & Mineral Buffers

Coffee water concentrates: labels, units and limits

The hydration state of a salt changes how much mineral a gram provides.

Water poured from a glass carafe into a kettle
AI-generated scene illustration. It does not document a test. About our images

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 that 51.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 salt
  • 1.000 g/L yields: 406.1 ppm GH as CaCO₃ (98.6 mg/L Mg²⁺ and 389.6 mg/L SO₄²⁻)
  • Grams needed per 1.0 L for a 1,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 salt
  • 1.000 g/L yields: 680.8 ppm GH as CaCO₃ (272.6 mg/L Ca²⁺ and 482.3 mg/L Cl⁻)
  • Grams needed per 1.0 L for a 1,000 ppm as CaCO₃ Concentrate: (1000) / (680.8) = 1.469 g/L (Note: If using anhydrous CaCl₂ with molar mass 110.98 g/mol, use 1.109 g/L; however, anhydrous CaCl₂ 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 salt
  • 1.000 g/L yields: 595.7 ppm KH as CaCO₃ (273.7 mg/L Na⁺ and 726.3 mg/L HCO₃⁻)
  • Grams needed per 1.0 L for a 1,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 salt
  • 1.000 g/L yields: 499.9 ppm KH as CaCO₃ (390.5 mg/L K⁺ and 609.5 mg/L HCO₃⁻)
  • Grams needed per 1.0 L for a 1,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:

  1. Bottle #1 — General Hardness (GH) Stock Concentrate (1,000 ppm as CaCO₃):
    • For a 100% Magnesium (MgSO₄) hardness stock: Weigh 2.46 g of food-grade Epsom salt (MgSO₄ · 7H₂O) into a bottle and add distilled water until the total solution mass reaches 1,000 g.
    • Or, for a 60% Magnesium / 40% Calcium blended hardness stock: Weigh 1.48 g of Epsom salt (MgSO₄ · 7H₂O) plus 0.59 g of Calcium Chloride Dihydrate (CaCl₂ · 2H₂O) into the bottle and top up with distilled water to 1,000 g.
  2. Bottle #2 — Carbonate Alkalinity (KH) Stock Concentrate (1,000 ppm as CaCO₃):
    • Weigh 1.68 g of pure Sodium Bicarbonate (NaHCO₃, baking soda) — or 2.00 g of Potassium Bicarbonate (KHCO₃) if you prefer a zero-sodium buffer — into the second bottle and add distilled water until the total solution mass reaches 1,000 g.

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.

Keep water recipes reproducible: Identify the exact salt form; Measure final batch volume; Check equipment compatibility
Identify the exact salt form → Measure final batch volume → Check equipment compatibility. An explanatory reading diagram.

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 below 100 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/40 MgSO₄ + CaCl₂ blended hardness stock produces a noticeably rounder cup than pure Epsom salt alone.
  • Crucial Stainless Steel Corrosion Warning: Never exceed 30–50 mg/L of chloride (Cl⁻) inside stainless steel (AISI 304 or 316L) espresso boilers! At 120–128°C steam 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, use MgSO₄ as your primary hardness salt and keep CaCl₂ dosing modest or zero.
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.
An explanatory comparison, not a measured result.

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.

  1. Identify the exact salt form
  2. Measure final batch volume
  3. 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.

  1. IUPAC – Compendium of Chemical Terminology & Standard Atomic Weights of the Elements
  2. Hendon, Colonna-Dashwood & Walsh – Divalent Cation Binding Enthalpies in Aqueous Coffee Extraction (J. Agric. Food Chem.)
  3. 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.