Coffee Brewing Water Calculator: Epsom Salt and Bicarbonate in Distilled Water

Mineral content changes what a coffee tastes like as much as grind size does. Start from distilled water, pick a target, and this works out what to weigh — plus a concentrate recipe, because the direct doses are too small for a kitchen scale.

Why this starts from distilled water

Minerals are not a contaminant in brewing water; they are part of how the extraction works. Magnesium and calcium ions bind to the flavour compounds being pulled out of the grounds, and bicarbonate neutralises some of the acids that make it into the cup. Water with nothing in it extracts poorly and tastes hollow. Water with a great deal in it extracts unevenly and tastes flat and heavy.

The reason to begin from distilled or RO water is not that it is purer. It is that addition is the only operation available in a kitchen. If your tap water already carries 180 ppm of alkalinity, no amount of arithmetic will bring it to 40, and a calculator that pretended otherwise would be handing you a number it cannot deliver. Starting from near zero makes the target reachable, and makes it repeatable, which matters more than which profile you pick.

Water2.00 L
Target hardness68 ppm as CaCO3
Target alkalinity40 ppm as CaCO3
Hardness salt to weigh0.335 gBelow about half a gram a kitchen scale is guessing. Use the concentrate figures underneath instead.
Alkalinity salt to weigh0.134 g
For 1 L of 100x concentrate: hardness salt16.7 g
For 1 L of 100x concentrate: alkalinity salt6.7 g
Concentrate to add for this batch20.0 mL10 mL of a 100x concentrate per litre - that is what makes it 100x.
Dissolved solids you are adding235 mg/LThe salts only. Distilled water starts at essentially zero, so this is the whole mineral content - but it is not the same measurement as brewed TDS, which also contains the dissolved coffee.
Worked examples
ExampleWaterTarget hardnessTarget alkalinityHardness salt to weighAlkalinity salt to weighFor 1 L of 100x concentrate: hardness saltFor 1 L of 100x concentrate: alkalinity saltConcentrate to add for this batchDissolved solids you are adding
2 L, SCA target, Epsom + baking soda2.00 L68 ppm as CaCO340 ppm as CaCO30.335 g0.134 g16.7 g6.7 g20.0 mL235 mg/L
1 US gallon, SCA target3.79 L68 ppm as CaCO340 ppm as CaCO30.634 g0.254 g16.7 g6.7 g37.9 mL235 mg/L
4 L, low alkalinity for a light roast4.00 L68 ppm as CaCO325 ppm as CaCO30.670 g0.168 g16.7 g4.2 g40.0 mL209 mg/L
1 L, higher hardness, calcium chloride1.00 L150 ppm as CaCO350 ppm as CaCO30.220 g0.084 g22.0 g8.4 g10.0 mL304 mg/L
1.5 L, SCA target, potassium bicarbonate1.50 L68 ppm as CaCO340 ppm as CaCO30.251 g0.120 g16.7 g8.0 g15.0 mL247 mg/L
Custom 100 / 30, 500 g batch0.50 L100 ppm as CaCO330 ppm as CaCO30.123 g0.025 g24.6 g5.0 g5.0 mL297 mg/L
Volume units, converted to litres
UnitLitres each
Litres1
Grams or millilitres0.00
US gallons3.79
US fluid ounces0.03

Definitions, not measurements. The US gallon is exactly 3.785411784 L and the US fluid ounce exactly 1/128 of it. Water is taken as 1 g per mL.

Target profiles used by this calculator, in ppm as CaCO3
ProfileHardnessAlkalinityWhat it is for
SCA target6840The standard target figures. Start here.
SCA midpoint11255Middle of both acceptable ranges; a touch fuller.
Low alkalinity6825Less buffering, so more of the acidity survives. Suits light roasts.
Higher hardness15050Near the top of the hardness range: heavier body, more scale risk in a boiler.
Custom6840Ignored - the two number fields are used instead.

The two SCA rows come from the published water standard for brewing specialty coffee: total hardness 50-175 ppm as CaCO3 with 68 commonly quoted as the target, and total alkalinity 40-70 ppm with 40 as the target. The other two profiles are ordinary moves inside that range, not anyone published recipe. The standard also gives a pH line and printings of it disagree (6-8 in some, 6.5-7.5 in others), so pH is left out here rather than reported as settled.

Hardness salts: ppm as CaCO3 from 1 gram in 1 litre
SaltFormulag/molppm per g/L
Epsom saltMgSO4.7H2O246.47406.10
Calcium chlorideCaCl2.2H2O147.01680.80

Arithmetic, not a measurement: molar mass of the hydrated salt against 100.087 g/mol for CaCO3, one mole of a divalent cation counting as one mole of CaCO3. Anyone with a periodic table can check these, which is why no source is cited for them.

Alkalinity salts: ppm as CaCO3 from 1 gram in 1 litre
SaltFormulag/molppm per g/L
Baking sodaNaHCO384.01595.70
Potassium bicarbonateKHCO3100.11499.90

Same arithmetic, but alkalinity counts equivalents rather than moles: one mole of bicarbonate is half a mole of CaCO3, so the equivalent weight is 50.043 g. That factor of two is the whole reason a gram of baking soda buys far more alkalinity than a gram of Epsom salt buys hardness.

Assumptions and limits

  • The starting water is distilled or from reverse osmosis, near enough to zero minerals that everything here is what you added. This matters more than it sounds: you can add minerals to water but you cannot take them out, so a calculator that started from tap water would be doing arithmetic it cannot deliver.
  • Hardness and alkalinity are both reported the way the water industry reports them - as the amount of calcium carbonate that would behave the same way - which is why magnesium sulfate has a "ppm as CaCO3" figure despite containing no calcium and no carbonate.
  • The salts are assumed dry. Epsom salt in particular gains and loses water of crystallisation on the shelf; a damp box weighs more than it should for the magnesium it holds, which pushes the real hardness below the target rather than above it.
  • The concentrate is 100x by definition, so 10 mL of it makes 1 L. Make it in small batches and keep it refrigerated - it is unbuffered salt water with nothing in it to discourage whatever lands in it.
  • Nothing here adjusts pH directly. Bicarbonate raises pH as a side effect of buffering, and how far depends on what else is in the water, so this calculator does not predict a pH figure it cannot stand behind.
  • Espresso machines with boilers are the one case where the top of the hardness range is a maintenance decision rather than a taste preference: hardness is what forms scale, and scale accumulates where the water is heated and held.

Hardness and alkalinity are two separate dials

They are easy to conflate because both are quoted in the same unit, and that unit names neither of the things being measured. Both are reported as "ppm as CaCO3" - the amount of calcium carbonate that would behave equivalently - which is why a magnesium salt containing no calcium and no carbonate still gets a CaCO3 figure.

Hardness is the divalent cations: magnesium and calcium. They are the part that actively participates in extraction, and more of them generally means more body and more perceived sweetness. Magnesium is usually described as favouring brighter, fruitier notes and calcium a rounder, heavier cup, which is why the salt is a choice on this page rather than a fixed ingredient.

Alkalinity is the bicarbonate, and it does almost the opposite: it buffers. Coffee is acidic, and bicarbonate neutralises a portion of that acidity before it reaches your tongue. Raise alkalinity and a bright cup turns rounder and eventually dull; lower it and acidity comes through sharply - welcome in a washed light roast, merciless in an under-extracted one.

The practical consequence is that these two numbers should be moved separately, one at a time. A cup that is bright but thin wants more hardness. A cup that is bright to the point of sour wants more alkalinity, or a coarser grind, which is the cheaper thing to try first.

The doses are too small to weigh, and that is the real problem

Two litres of water at the SCA target needs about a third of a gram of Epsom salt and about an eighth of a gram of baking soda. A scale that reads to 0.1 g cannot tell 0.13 from 0.17, and that is a 30 percent error on the alkalinity before you have brewed anything. This is the point at which most people either buy sachets or give up.

The way around it is to weigh once, at a hundred times the scale, then measure by volume. Make one litre of concentrate using the two concentrate figures the calculator prints - those are whole grams, comfortably inside what any scale can resolve - and add 10 mL of it per litre of distilled water. That is what makes it a 100x concentrate, and it turns an impossible weighing into a syringe measurement.

One litre of concentrate treats a hundred litres of water, so make it in small batches rather than large ones. It is salt water with no preservative and nothing acidic in it, so keep it in the fridge and discard it if it ever looks like anything other than water.

Which numbers here are standards, and which are not

These are worth separating, because they carry very different weight and only one of them belongs to anybody.

The ppm-per-gram figures are arithmetic. Divide 1000 mg by the molar mass of the hydrated salt to get millimoles per litre, then multiply by 100.087 for hardness or 50.043 for alkalinity. Epsom salt at 246.47 g/mol gives 406.1; baking soda at 84.01 g/mol gives 595.7. Nobody measured these and nobody needs crediting for them - anyone with a periodic table can reproduce them in a minute, which is exactly why they are the trustworthy part of this page. The factor-of-two difference between the two multipliers is not a slip: hardness counts moles of a divalent ion, alkalinity counts equivalents of a singly charged one.

The SCA rows are a published standard, and are cited as such in the table note: total hardness 50-175 ppm as CaCO3 with 68 usually quoted as the target, and total alkalinity 40-70 ppm with 40 as the target. The standard also gives a pH line, and printings of it disagree - some show 6 to 8, others 6.5 to 7.5. Rather than pick one and present it as settled, this page leaves pH out and says why.

The two variant profiles are neither. They are ordinary moves inside the standard own range, offered because the target is a place to start from rather than a target you have missed. They are attributed to nobody because nobody published them.

Scale is a hardness problem, not a mineral problem

If the water goes through a boiler or a thermoblock, the hardness number stops being purely a matter of taste. Scale forms when hardness minerals come out of solution on a hot surface, so the rate at which a machine scales tracks hardness and temperature, and the deposit builds where the water is hottest and sits longest.

This is why the higher-hardness profile carries a caveat the others do not. At 150 ppm you are near the top of the acceptable range, and in a pour over kettle that costs you nothing - the water is not held hot and nothing is plumbed. In an espresso machine it is a maintenance decision you are making on the machine behalf, and it is worth making deliberately rather than by picking whichever row sounded richest.

Alkalinity behaves differently again. It is part of what protects boiler metal from the corrosive tendencies of very soft water, which is why the standard sets a floor on it rather than simply preferring less. Water with essentially no buffering is not the safe end of the scale; it is a different problem from the one scale represents.

Frequently Asked Questions

How much Epsom salt do I add to a litre of distilled water for coffee?
About 0.17 g to reach the SCA target hardness of 68 ppm as CaCO3 - one gram of Epsom salt in one litre gives 406 ppm, so you need roughly a sixth of that. Since no kitchen scale resolves 0.17 g, the practical route is 16.7 g in a litre of concentrate and then 10 mL of that per litre.
Can I use my tap water with this?
Not as written. The calculator assumes you start from essentially zero and add everything, and tap water already contains an unknown amount of both hardness and alkalinity. You can only add. If your water report gives both figures and both sit below your target you could add the difference, but if either is already above it, no recipe brings it down and distilled or RO water is the only route.
What is the difference between hardness and alkalinity?
Hardness is the magnesium and calcium, and it takes part in extraction - more of it generally means more body. Alkalinity is the bicarbonate, and it buffers acidity, so more of it means a rounder and eventually duller cup. Both are quoted as "ppm as CaCO3", which is a unit of comparison rather than a description of what is dissolved, and that shared unit is why they get confused.
Why does 1 g of baking soda give more ppm than 1 g of Epsom salt?
Two reasons multiply together. Baking soda has a much smaller molar mass - 84 against 246 - so a gram of it is nearly three times as many molecules. And alkalinity is counted in equivalents, where one bicarbonate ion is worth half a carbonate, so the conversion factor is 50.04 rather than 100.09. The result is 595.7 ppm against 406.1.
Should I use potassium bicarbonate instead of baking soda?
It behaves the same way as a buffer and the calculator adjusts the dose for you - 499.9 ppm per g/L against 595.7, because potassium is heavier than sodium. People choose it to keep sodium out of the water rather than for flavour. Some tasters report a slightly cleaner finish; that is a preference, and not something this page can settle for you.
Will this water scale my espresso machine?
Scale tracks hardness and heat, so the hardness figure you pick is the one that matters, and the profiles here run from 68 to 150 ppm. Choosing the top of the range in a machine with a boiler is a trade-off worth making on purpose. It is not an argument for zero hardness though - the standard sets a floor on alkalinity partly because very soft water is corrosive rather than harmless.
Is this the same as the TDS number my meter reads?
No, and mixing them up is common. The mg/L figure here is the salt you added to the brewing water. A TDS meter aimed at brewed coffee is reading the dissolved coffee as well, which is the far larger number and the one brewing charts mean by strength. They are different measurements of different liquids.