Water Recipe Snapshot
{{ formatNumber(model.final.gh, 0) }} ppm GH
{{ formatNumber(model.final.kh, 0) }} ppm KH
{{ formatNumber(model.final.tds, 0) }} ppm TDS
{{ profileInfo.label }} · {{ formatNumber(model.source_l, 2) }} L source + {{ formatNumber(model.ro_l, 2) }} L RO/distilled · {{ mineralSummary }}
{{ model.status.label }} {{ batchDisplay }} {{ recipeModeLabel }} {{ targetDisplay }} {{ model.warningCount }} caution{{ model.warningCount === 1 ? '' : 's' }}
Coffee water recipe inputs
Use source + RO blend for tap water that needs dilution; use RO/distilled when starting from near-zero minerals.
Pick the closest brew goal, then adjust the target ppm fields if your recipe calls for a different point.
Enter the amount of brew water you want to mix and store.
Measure total hardness before deciding whether to dilute or add hardness mineral.
ppm
Measure alkalinity separately from GH; TDS alone cannot tell you the buffer level.
ppm
Use a TDS meter reading as a broad check, not as a substitute for GH and KH tests.
ppm
Filter recipes often start near 50-90 ppm, with method and taste deciding the final target.
ppm
Lower KH keeps acidity lively; higher KH buffers sharper coffees but can mute brightness.
ppm
Choose the mineral used to raise GH when diluted or RO water is below target.
Choose the bicarbonate used to raise KH and soften perceived acidity.
pH is less useful than alkalinity for taste, but extremes still deserve a caution.
Flag this when source water has disinfectant taste, smell, or a positive test strip.
Adds scale and corrosion cautions for boiler use; it is not equipment warranty advice.
Step Amount Ingredient Note Copy
{{ row.step }} {{ row.amount }} {{ row.ingredient }} {{ row.note }}
Check Reading Status Action Copy
{{ row.check }} {{ row.reading }} {{ row.status }} {{ row.action }}

            
Customize
Advanced
:

Introduction

Coffee brewing water is not just a neutral carrier for the coffee. Dissolved minerals change how acids, sweetness, bitterness, body, and aroma show up in the cup, and the same water can also matter for scale or corrosion when it is heated inside equipment. The practical question is whether the water has enough hardness and alkalinity for the brew style without pushing the cup flat, sharp, harsh, or risky for a machine.

General hardness, usually shortened to GH, is mainly the calcium and magnesium hardness reported as CaCO3-equivalent parts per million. Carbonate hardness, often shown here as KH, is the alkalinity or acid-buffering capacity, also reported as CaCO3-equivalent ppm. Total dissolved solids, or TDS, is broader. It can flag very weak or very mineral-heavy water, but it cannot tell whether the dissolved material is hardness, bicarbonate, sodium, chloride, or something else.

Coffee water recipe flow from source water and dilution through mineral additions to finished GH, KH, and TDS readings.

Good recipe work starts with measured source water and a target that fits the brew. RO or distilled water lowers hardness, alkalinity, and TDS by dilution. Food-safe mineral salts raise only the parts they contribute. A calculation can organize those amounts, but the finished water still deserves a GH/KH test, a smell and taste check, and extra caution before it goes into an espresso machine.

A matching recipe does not mean the water is potable, equipment-approved, or safe for every boiler. It means the entered readings and selected mineral choices produce a plausible brewing-water estimate inside the selected range checks.

Technical Details:

GH and KH are handled as ppm as CaCO3 so that hardness and alkalinity can be compared on the same water-treatment scale. This does not mean the finished water contains only calcium carbonate. It means the hardness from magnesium or calcium salts and the alkalinity from bicarbonate salts are converted into a common equivalent unit.

Blend math reduces source-water readings in proportion to the amount of source water kept in the batch. If a source reading is already above a selected target, the source fraction is limited by the tightest applicable ratio. RO/distilled build mode sets the source fraction to zero. Source-only mode keeps the source fraction at one, so any high source hardness or alkalinity remains visible instead of being hidden by an added mineral dose.

Formula Core

The core recipe first chooses how much measured source water remains, then adds the missing GH and KH with the selected salts.

f = blend source fraction, capped from 0 to 1 source L = batch L×f RO L = batch L-source L diluted GH = source GH×f GH gap = max(0, target GH - diluted GH) hardness grams = GH gap×mineral factor×batch L estimated TDS = diluted TDS+(hardness grams + buffer grams)×1000batch L

The KH side follows the same gap formula as GH, using the selected bicarbonate factor. The TDS number is an estimate from the entered source TDS plus mineral mass per liter. Meters, salt hydration, impurities, and ionic behavior can make the measured TDS differ from that simple mass-based estimate.

Mineral factors used for coffee water recipe estimates
Mineral choice Raises Grams per L per ppm Recipe note
Magnesium sulfate heptahydrate / Epsom salt GH 0.002464 Adds magnesium hardness only; small doses need a suitable scale.
Calcium chloride dihydrate GH 0.001469 Adds calcium hardness; use food-safe material.
Magnesium chloride hexahydrate GH 0.002033 Adds magnesium hardness without sulfate.
Sodium bicarbonate / baking soda KH 0.001680 Adds bicarbonate buffer and sodium; do not substitute baking powder.
Potassium bicarbonate KH 0.002002 Adds bicarbonate buffer with potassium instead of sodium.
Coffee water target profiles and audit ranges
Target profile Target GH / KH / TDS Audit range How to read it
SCA-style filter target 70 / 40 / 150 ppm GH 50-175, KH 40-70, TDS 75-250, pH 6-8 Balanced filter starting point with moderate hardness and buffer.
Bright light-roast filter 50 / 25 / 110 ppm GH 35-90, KH 20-45, TDS 60-170, pH 6-8 Lower buffer keeps acidity more lively in lighter coffees.
Balanced daily filter 75 / 50 / 160 ppm GH 50-130, KH 35-75, TDS 80-220, pH 6-8 Practical pour-over, drip, and immersion baseline.
High-buffer darker roast 80 / 75 / 180 ppm GH 55-150, KH 55-100, TDS 90-240, pH 6-8 More alkalinity for coffees that taste sharp at lower buffer.
Espresso machine cautious 35 / 80 / 150 ppm GH 20-80, KH 40-120, TDS 70-210, pH 6-8 Lower-hardness boiler-aware target that still keeps buffer.
Custom target Entered GH / KH; TDS at least 75 ppm GH from target - 20 to target + 50; KH from target - 15 to target + 35 Builds local audit ranges around the entered GH and KH values.
Coffee water validation and status boundaries
Boundary Rule Result cue
Numeric inputs Batch size must be above zero; GH, KH, and TDS readings must be zero or greater; pH must be blank or 0-14. The red error area names the field to fix.
Target minimum At least one of Target GH or Target KH must be above zero. The calculation waits until a real mineral target exists.
Range rows Values below the lower audit value are Low; values above the upper audit value are High; both edges count as In range. Check the Water Audit Table before repeating a recipe.
Dilution limit If the diluted base remains more than 1 ppm above Target GH or Target KH, no mineral subtraction is possible. Water Recipe Snapshot shows Dilution limit reached.
Target match With no warnings, Final GH and Final KH within 2 ppm of their targets show Targets matched. Use a drop kit to confirm the mixed batch.
Espresso audit When enabled, final GH above 80 ppm, final TDS above 250 ppm, final KH below 30 ppm, or final KH above 120 ppm triggers review. Compare with the machine maker's water guidance before filling a boiler.

Everyday Use & Decision Guide:

Start with Recipe mode. Use Source water + RO/distilled blend when tap or bottled water is too hard or too alkaline and you want the page to calculate how much source water can stay in the batch. Use RO/distilled water + minerals when the base water is near zero minerals. Use Source water only, add if low when you want an audit and possible additions without pretending high source readings can be removed.

Choose Target profile before editing the target fields. The presets set practical GH and KH values for filter, brighter light-roast brewing, balanced daily brewing, higher-buffer darker roasts, and a cautious espresso-machine check. If your own recipe calls for another point, edit Target GH and Target KH; the profile switches to custom so the result reflects the entered values.

  • Batch size controls the amount of finished water and scales every gram value. The same ppm target needs more salt in a larger batch.
  • Source GH and Source KH are more important than TDS for recipe decisions. TDS alone cannot tell whether the water is hard, buffered, salty, or a mix of several dissolved materials.
  • Hardness mineral and Buffer mineral change the gram amounts. They do not change the entered target ppm values.
  • Measured pH is an audit note, not the main taste control. Alkalinity usually matters more for how acidity is buffered.
  • Chlorine or chloramine present should slow you down. Mineral additions do not remove disinfectant taste.
  • Audit for espresso machine use adds boiler-focused cautions. It does not replace the manufacturer's water specification.

Read Water Recipe Snapshot first, then open Recipe Table for the mixing order. The snapshot gives the final GH, KH, estimated TDS, source and RO volumes, selected profile, status, and caution count. The recipe table turns that into measured source water, RO/distilled water, hardness mineral, buffer mineral, mixing, and final estimate rows.

Do not treat Targets matched as proof that the water is ready. It means the arithmetic matches the entered numbers. Before repeating the recipe, dissolve the salts completely, verify GH and KH with a test kit, smell or taste for disinfectant, and keep machine guidance separate from brew-flavor preference.

Step-by-Step Guide:

Work from water source to target, then use the snapshot and audit rows to decide whether the recipe is worth mixing.

  1. Set Recipe mode. Confirm that Water Recipe Snapshot later shows the expected mode badge, such as Blend recipe, RO/distilled build, or Source-only audit.
  2. Choose Target profile. If you edit Target GH or Target KH, confirm the profile label changes to Custom target and the target badge shows the entered GH/KH pair.
  3. Enter Batch size and unit. If the red error area says Set a batch size above zero., correct the amount before reading the tables.
  4. For blend or source-only mode, enter Source GH, Source KH, and Source TDS. In RO/distilled mode, those source readings are treated as zero and the recipe starts from RO/distilled base.
  5. Pick Hardness mineral and Buffer mineral. Watch the mineral summary in Water Recipe Snapshot update with gram or milligram amounts.
  6. Open Advanced only when needed. Enter Measured pH, turn on Chlorine or chloramine present, or enable Audit for espresso machine use when those checks are part of the decision.
  7. Review Recipe Table. The important rows are Add hardness mineral, Add buffer mineral, Mix and verify, and Final estimate.
  8. Review Water Audit Table before using the batch. Clear or explain any Low, High, Treat first, Review, or Dilution limit reached status before repeating the recipe.

Interpreting Results:

The most important result is the combination of final GH, final KH, estimated final TDS, and status. A good-looking GH/KH pair can still be less useful when the audit table flags high source alkalinity, disinfectant, or espresso-machine review. The estimate should guide mixing, not replace measurement after the salts dissolve.

Coffee water result interpretation cues
Output Read it as Check before trusting it
Final GH Estimated finished general hardness in ppm as CaCO3. Verify with a hardness drop kit, especially for small batches.
Final KH Estimated finished alkalinity or buffer in ppm as CaCO3. Confirm after bicarbonate dissolves fully.
Estimated final TDS Source TDS after dilution plus mineral mass per liter. Expect a meter reading to differ because the estimate is approximate.
Recipe status Targets matched, Recipe estimated, Recipe needs review, or Dilution limit reached. Open Water Audit Table when anything besides Targets matched appears.
Warning count Number of audit rows outside the selected range or needing action. Check the exact row; one disinfectant flag matters more than a harmless-looking count.

Dilution limit reached means the measured source water remains above Target GH or Target KH after the available dilution step. More hardness or buffer salt cannot fix that. The usual correction is more RO/distilled water, a lower-mineral source, or a different target.

Targets matched does not mean the water is safe for drinking, suitable for every machine, or ideal for every coffee. It means the final GH and KH estimate is within 2 ppm of the target and no audit row is currently warning. Test the finished water and keep taste notes before committing to a larger batch.

Worked Examples:

Diluting hard source water for the SCA-style filter target

A 4 L blend starts from Source GH 120 ppm, Source KH 90 ppm, and Source TDS 220 ppm with the SCA-style filter target. The tightest ratio is KH, so Recipe Table keeps 1.78 L measured source water and adds 2.22 L RO/distilled water. The diluted base contributes about 53 ppm GH and 40 ppm KH, then Add hardness mineral shows 0.164 g Epsom salt. Final estimate lands at 70 GH / 40 KH with estimated TDS 139 ppm. The final recipe matches the target, but Water Audit Table still flags Source KH as High, so the snapshot status is Recipe needs review.

Building bright filter water from RO or distilled water

With RO/distilled water + minerals, a 2 L batch, and the Bright light-roast filter target, the source contribution is zero. Using Epsom salt and sodium bicarbonate, Add hardness mineral shows 0.246 g and Add buffer mineral shows 0.084 g. The snapshot reports 50 ppm GH, 25 ppm KH, and about 165 ppm TDS. Those values sit inside the bright-filter audit ranges, so the recipe can show Targets matched before the real mixed water is tested.

Source-only espresso audit with hardness above target

A source-only 4 L batch using the Espresso machine cautious target starts with Source GH 90 ppm, Source KH 20 ppm, and Source TDS 90 ppm. Because source-only mode does not dilute, GH remains above the 35 ppm target. The table adds about 0.403 g sodium bicarbonate to raise KH to 80 ppm, but the snapshot still reports 90 GH / 80 KH and Dilution limit reached. With Audit for espresso machine use enabled, Espresso machine audit returns Review because final GH is above the cautious machine range.

Disinfectant flag that minerals cannot fix

If the source water smells chlorinated or a strip indicates chloramine, turning on Chlorine or chloramine present adds a Disinfectant row with Treat first. The recipe may still calculate final GH, KH, and TDS, but the audit action says to remove chlorine or chloramine before brewing. Mineral grams do not repair that taste problem.

FAQ:

Can I use TDS alone for a coffee water recipe?

No. The page asks for Source GH, Source KH, and Source TDS because TDS does not reveal whether the minerals are hardness, buffer, salt, or other dissolved material. Use TDS as a broad check and GH/KH as the main recipe numbers.

Why did I get Dilution limit reached?

That status appears when the diluted base remains more than 1 ppm above Target GH or Target KH. The calculation will not enter a negative salt dose. Use more RO/distilled water, change source water, or choose a target that matches the source better.

Why are the salt amounts so small?

GH and KH targets are ppm values, so a few liters of water may need only milligrams or tenths of a gram. The amount display switches between mg, three-decimal grams, and two-decimal grams so small doses remain readable.

Does the espresso machine audit approve my water?

No. The espresso switch adds review cautions when final GH, KH, or TDS falls outside the local cautious checks. It is not warranty advice, and it does not replace the water specification from your machine maker.

What should I do when pH is flagged?

Measured pH is optional and must be blank or between 0 and 14. If entered pH falls outside the selected 6 to 8 audit range, use alkalinity as the main taste lever and investigate the source water before using it for repeated recipes.

Can this make unsafe water safe?

No. The calculation estimates brew-water minerals from entered readings. It does not test potability, remove microbes, remove disinfectants, remove chlorides, or certify equipment safety.

Glossary:

GH
General hardness, reported here as ppm as CaCO3 and raised by the selected hardness mineral.
KH
Carbonate hardness or alkalinity, reported here as ppm as CaCO3 and raised by the selected bicarbonate mineral.
TDS
Total dissolved solids, a broad ppm reading used as an approximate mineral-strength check.
CaCO3 equivalent
A common reporting basis that lets different hardness and alkalinity sources share the same ppm scale.
RO/distilled water
Low-mineral base water used here for dilution or for a near-zero starting point before mineral additions.
Buffer
Alkalinity that neutralizes acids and changes how bright or muted a coffee tastes.
Dilution limit
A status showing that source water remains above Target GH or Target KH after the modeled dilution step.
Disinfectant
The chlorine or chloramine flag that warns mineral additions will not remove disinfectant taste.

References: