{{ summaryTitle }} {{ summaryValue }} {{ summaryLine }} {{ badge.label }} {{ badge.value }} {{ summaryAnnouncement }}
Coffee water source, target, and mineral recipe inputs
Choose the starting-water path before entering source readings.
Pick a starting point or keep custom targets from your own water recipe.
Mineral masses and source/diluent volumes scale from this finished amount.
Choose 0–250 ppm as CaCO3.
{{ target_gh }} ppm
Choose 0–200 ppm as CaCO3.
{{ target_kh }} ppm
Choose 1–400 ppm.
{{ target_tds }} ppm
Use food-grade material and a scale suitable for small masses.
Use bicarbonate, not baking powder or another blended leavener.
{{ workflowFeedback }}
Leave blank when no reliable measurement is available.
This adds a treatment caution; mineral additions do not remove disinfectant taste.
{{ chlorine_present ? 'Enabled' : 'Disabled' }}
Adds a reminder to compare the final water with the machine maker's requirements.
{{ espresso_machine ? 'Enabled' : 'Disabled' }}
{{ recipeExportStatus }}
StepAmountIngredientWhyCopy
{{ row.step }}{{ row.amount }}{{ row.ingredient }}{{ row.note }}
{{ auditExportStatus }}
CheckReadingStatusActionCopy
{{ row.label }}{{ row.reading }}{{ row.status }}{{ row.action }}
{{ chartExportStatus }}

Brew water carries minerals into coffee, buffers acids, and leaves scale or corrosion risks inside equipment. A useful recipe therefore needs more than a total dissolved solids reading. It separates hardness, alkalinity, and overall dissolved loading before deciding how much source water, low-mineral water, and mineral salt to combine.

General hardness (GH)
A calcium-and-magnesium hardness measure expressed here as parts per million equivalent calcium carbonate.
Alkalinity (KH)
Acid-neutralizing capacity, also expressed as parts per million equivalent calcium carbonate. It is not interchangeable with GH.
TDS
A broad dissolved-solids reading. It cannot reveal which ions are present or replace separate hardness and alkalinity tests.

Dilution can reduce minerals already in source water; adding salts can only raise a target. This matters when a source already exceeds the desired GH or alkalinity. Starting with reverse-osmosis (RO) or distilled water offers direct control, while blending measured source water can retain some of its mineral character and reduce the amount of added salt.

Target profiles are recipe starting points rather than universal taste or equipment standards. Coffee, brewer, filter, and sensory preference all matter. Espresso machines add another constraint because excessive scale, corrosion, or unsuitable chloride levels may cause damage even when a recipe looks reasonable by GH, alkalinity, and TDS alone.

How to Use This Tool:

Choose the starting-water path first, then build a target from measurements you can verify.

  1. Select Measured source + RO/distilled blend, RO/distilled base + minerals, or Measured source, no dilution. The mode determines whether source minerals can be reduced before additions.
  2. Choose a Target profile or set custom GH, alkalinity, and TDS limits. Profiles overwrite all three targets; editing a target switches the profile to custom.
  3. Enter the finished batch and measured source GH, alkalinity, and TDS. Use a hardness kit or water report for GH and a separate alkalinity test or report for KH.
  4. Select the exact hardness and buffer salts shown on their labels. Hydrated and anhydrous products need different masses. Use sodium bicarbonate, not baking powder.
  5. Review the Mixing recipe and Water audit. A dose below 0.05 g needs a suitable scale or a verified concentrate, and any dilution-limit warning means the source still exceeds a target.

Interpreting Results:

The final GH and alkalinity are direct mass-balance targets within this recipe model. Estimated final TDS is less exact: it adds the diluted source reading to the mass concentration of the selected salts, so it is a dissolved-loading estimate rather than a prediction of a particular conductivity meter.

  • Recipe targets reached means no warning rule fired. It does not replace testing the mixed water.
  • Source exceeds a target means the selected mode cannot remove enough GH or alkalinity. Use more low-mineral water or a lower-mineral source.
  • Recipe needs review may reflect estimated TDS above its ceiling, an unusually small dose, source pH outside 6 to 8.5, a disinfectant flag, or espresso-machine use.
  • A GH or alkalinity value within 0.5 ppm of its target is shown as matched. Estimated TDS is flagged only when it is more than 1 ppm above the chosen ceiling.

Technical Details:

The recipe uses liters as the internal batch unit and expresses GH and alkalinity as ppm equivalent CaCO3. One ppm in one liter corresponds to one milligram of equivalent CaCO3. Mineral masses are calculated from equivalent-weight ratios, so the exact chemical and hydrate form changes the dose.

Formula Core

In blend mode, the source fraction is the smallest fraction required by any source measurement that is above its target. If no source value exceeds its target, the fraction is 1. RO mode sets it to 0, and source-only mode keeps it at 1.

f=min(1,GHtGHs,KHtKHs,TDStTDSs)

Only ratios whose source value is above the corresponding target participate in that minimum. Source and diluent volumes are then simple shares of the finished batch.

Vs=Vf Vd=V(1f) Cdiluted=Csourcef

The missing GH or alkalinity is the positive part of target minus diluted concentration. A zero result means no salt is added for that measure.

msalt=ΔCMsaltMequivalentV1000

For hardness salts, the equivalent molar mass is 100.0869 g/mol CaCO3. For sodium or potassium bicarbonate, it is half that value because two bicarbonate equivalents correspond to one mole of CaCO3 equivalent.

Supported coffee-water mineral salts and molar masses
RoleSaltMolar mass
HardnessMagnesium sulfate heptahydrate246.47 g/mol
HardnessCalcium chloride dihydrate147.014 g/mol
HardnessMagnesium chloride hexahydrate203.30 g/mol
BufferSodium bicarbonate84.0066 g/mol
BufferPotassium bicarbonate100.115 g/mol

Estimated final TDS equals diluted source TDS plus total added salt mass in milligrams divided by batch liters. This intentionally treats the salt mass as broad dissolved loading; ion activity, conductivity conversion, water temperature, and meter calibration are outside the model.

Preset Targets

Editable coffee-water target profile values
ProfileGHAlkalinityTDS ceiling
Balanced filter starter70 ppm40 ppm150 ppm
Bright filter starter50 ppm25 ppm120 ppm
Rounded filter starter80 ppm60 ppm180 ppm
Espresso review starter45 ppm55 ppm150 ppm

Accuracy and Safety Notes:

Use food-grade salts, verify the exact hydrate form, and weigh small quantities with suitable equipment. Dissolve salts completely and test the finished water before repeating a recipe. Preparing a concentrate can improve repeatability, but only when its concentration and dilution are measured carefully.

  • RO and distilled water are modeled as having zero GH, alkalinity, and TDS. Measure the actual base when that assumption is not adequate.
  • Source pH is recorded only as context and never converted into alkalinity.
  • Mineral additions do not remove chlorine or chloramine.
  • For espresso equipment, compare the final water with the machine maker's hardness, alkalinity, chloride, corrosion, and service requirements.

Worked Examples:

Four-liter measured-source blend

A 4 L batch starts at 120 ppm GH, 90 ppm alkalinity, and 220 ppm TDS, with targets of 70, 40, and 150 ppm. Alkalinity is the tightest constraint, so the source fraction is 40 ÷ 90, or 44.44%. The recipe uses about 1.78 L source water and 2.22 L RO or distilled water. Dilution leaves 53.33 ppm GH and 40 ppm alkalinity. With magnesium sulfate heptahydrate selected, adding about 0.164 g supplies the missing 16.67 ppm GH; estimated final TDS is about 138.8 ppm.