Brew Snapshot
{{ formatNumber(results.coffee_g, 1) }} g / {{ formatNumber(results.coffee_oz, 2) }} oz coffee
{{ formatNumber(results.brew_water_g, 0) }} g / {{ formatNumber(results.brew_water_fl_oz, 1) }} fl oz water
Yield {{ formatNumber(results.beverage_ml, 0) }} mL / {{ formatNumber(results.beverage_fl_oz, 1) }} fl oz
{{ methodLabel }} · Ratio 1:{{ ratioDisplay }} · {{ brewTimeDisplay }} · {{ waterTempDisplay }}
{{ strengthInfo.label }} ≈ {{ formatNumber(results.cups, 2) }} cups Bloom {{ formatNumber(results.bloom_ml, 0) }} g {{ startFromLabel }} {{ methodNote }}
{{ warnings.join(' · ') }}
{{ err }}
:1
mL/g
g/tbsp
× coffee
min
# Metric Value Notes Copy
{{ row.idx }} {{ row.label }} {{ row.value }} {{ row.note || '—' }}
Enter inputs to see the brew plan.

            
Enter inputs to see the JSON preview.
:

Introduction:

Coffee to water ratios describe how much brewing water you use for a given dose of ground coffee, and they are a practical starting point for consistent flavor. If you want a coffee to water ratio calculator for everyday brewing, this one turns the ratio into a repeatable plan you can compare across batches.

Start with the coffee you have or the drink size you want, choose a brewing style as a baseline, then the plan returns coffee dose, brew water, and expected yield. The yield estimate accounts for grounds absorption, which is the water held back by the wet grounds and never reaches your cup. You can also work in tablespoons, ounces, and cups, and still see a suggested bloom amount, brew time, and water temperature.

For example, when you are serving two cups at breakfast, enter the target drink volume and the plan shows how much coffee to weigh and how much water to pour. If the cup tastes too intense or too light, adjust the ratio a little and keep the rest of the process steady.

A ratio can look perfect yet still taste off if grind size, agitation, or brew time change, so treat the numbers as a starting guide and let taste settle the final recipe. For best comparisons, weigh coffee and water each time, and only change one variable per brew.

Technical Details:

This calculator models a brew as a balance between the dry coffee dose and the water you add, then estimates how much beverage you can serve after the grounds retain some water. It reports coffee dose, brew water, beverage yield, and servings, with optional conversions between grams and ounces, milliliters and U.S. fluid ounces, and custom cup sizes.

The main input is the brew ratio R, defined as grams of brew water per gram of dry coffee. Smaller ratios usually taste stronger, while larger ratios taste lighter, but extraction still depends on grind, agitation, temperature, and contact time.

Grounds absorption a is treated as milliliters of water retained per gram of coffee. In the calculations, water mass and volume are treated as interchangeable for planning, so absorbed milliliters are subtracted from brew water grams to estimate the served beverage volume.

You can plan in two directions. Starting from coffee dose, the calculator multiplies dose by the ratio and subtracts absorbed water. Starting from a target beverage volume, it solves the inverse form, which requires R to be greater than a so there is water left to serve.

Core equations for planning from coffee

W = C×R A = C×a Y = max(0,WA)
Symbols, meanings, and units used in the brew equations
Symbol Meaning Unit/Datatype Source
C Coffee dose (dry grounds) g Input or derived
R Brew ratio (brew water per coffee) g/g Input
a Grounds absorption per gram mL/g Input (preset or custom)
W Total brew water g Derived
A Water retained by grounds mL Derived
Y Final beverage yield mL Derived
b Bloom ratio (multiple of coffee dose) unitless Input
B Bloom water g Derived
S Cup size used for servings mL Input
n Servings cups Derived

Worked example: coffee dose C = 30 g, ratio R = 16, absorption a = 2.1 mL/g, cup size S = 240 mL, bloom ratio b = 2.

W=30×16=480 g
A=30×2.1=63 mL
Y=48063=417 mL
n=417240=1.74 cups
B=min(480,30×2)=60 g

With R = 16, the strength cue falls in the Balanced band, which is a common starting point for pour-over and drip recipes.

Strength cues from ratio

Strength bands mapped from brew ratio values
Band Lower bound (R) Upper bound (R) Interpretation Action cue
Intense > 0 ≤ 13.5 Very strong concentration and heavier body. Expect a syrupy cup, consider coarser grind.
Bold > 13.5 ≤ 15.5 Strong but more forgiving than intense. Good for fuller flavor, watch bitterness.
Balanced > 15.5 ≤ 17.5 Common middle ground for clarity and strength. Use as a baseline, then adjust to taste.
Light > 17.5 ≤ 20.5 Higher dilution with a lighter body. Consider finer grind or longer contact time.
Tea-like > 20.5 Very dilute and potentially under-extracted. Increase dose, reduce ratio, or extend brew time.

These bands are based only on ratio and are meant as a quick cue, not a guarantee of extraction quality.

Inverse equation for planning from a beverage target

When you start from a desired beverage volume, the calculator solves for the coffee dose first. This only works when R − a is positive.

C = YRa W = C×R A = C×a

Bloom, servings, and unit conversions

Bloom water is computed as the smaller of total brew water and b times the coffee dose, so bloom is never larger than the whole brew. Servings are computed by dividing beverage yield by your chosen cup size.

B = min(W,C×b) n = YS

Method presets

Choosing a method loads a starting ratio, absorption estimate, temperature target, and contact time. You can override any of these values to match your beans and setup.

Preset parameters for each brew method
Method Default R Absorption a (mL/g) Temp (°C) Time (min) Note
Pour-over / Drip 16 2.1 94 4 Medium grind, even pours over 3 to 4 minutes.
French press 15 2.3 96 4 Coarse grind, stir, then plunge gently.
AeroPress (classic) 14 1.8 93 2.5 Medium-fine grind, dilute to taste after pressing.
Cold brew concentrate 8 2.4 21 720 Steep 12 to 18 hours, dilute 1:1 to 1:2 to serve.
Moka pot 12 2 95 5 Medium-fine grind, stop early to avoid bitterness.

Variables and parameters you can tune

Adjustable parameters and what they affect
Parameter Meaning Unit/Datatype Typical range Sensitivity Notes
R Brew ratio number 8 to 16 High Used for strength cues and all water calculations.
a Grounds absorption mL/g 1.8 to 2.4 High Higher absorption lowers yield for the same brew water.
b Bloom ratio number 2 (default) Low Bloom is capped at total brew water.
S Cup size mL or fl oz 240 mL (default) Medium Changes the servings count without changing the brew.
Tablespoon weight Grams per tablespoon for scoop conversion g/tbsp 5.5 (default) Medium Varies by grind and how you scoop.
Water temperature Temperature target shown with the plan °C or °F 21 to 96 °C Medium Displayed for guidance, not used in calculations.
Brew time Contact time shown with the plan minutes 2.5 to 720 Medium Displayed for guidance, not used in calculations.

Constants used for unit conversion

Conversion constants used by the calculator
Constant Value Unit Source Notes
ML_PER_FL_OZ 29.5735295625 mL per fl oz Constant Used to convert between mL and U.S. fluid ounces.
G_PER_OZ 28.349523125 g per oz Constant Used to convert coffee dose between grams and ounces.

Units, precision, and rounding

  • Decimal separator is a dot, and internal math uses JavaScript Number values.
  • Displayed rounding follows fixed decimals by field, for example coffee grams (1), coffee ounces (2), water grams (0), and servings in cups (2).
  • The ratio label is formatted with one decimal for most values, but uses zero decimals for very large ratios.
  • Temperature is shown in both °C and °F with one decimal, and switching units converts the stored value.
  • Time is shown in minutes, and switches to hours and minutes for durations at or above 180 minutes.

Validation and bounds

Input constraints and error messages
Field Type Min Max Step/Pattern Error text Placeholder
Brew ratio number 1 None step 0.1 Set a brew ratio above zero. 16
Coffee dose number 1 None step 0.5 Coffee dose must be greater than zero. 30
Final beverage volume number 60 None step 10 Final beverage volume must be greater than zero. 500
Cup size number 60 mL or 2 fl oz None step 1 or 0.1 Cup size must be positive.
Grounds absorption number 0 None step 0.05 Grounds absorption must be a valid number. Ratio must be larger than the absorption value to hit the beverage target.
Tablespoon weight number 1 None step 0.1
Bloom ratio number 0.5 None step 0.1
Water temperature number 10 °C or 50 °F None step 0.5 or 1
Brew time number 1 None step 0.5

Outputs and formats

The app provides a human-readable brew plan and a structured JSON payload. It can also generate a CSV plan table and a DOCX document using the same displayed values.

Supported exports and what they contain
Output Accepted families What you get Encoding/Precision Rounding
Brew plan table Copy to clipboard, download CSV file named coffee_water_ratio_plan.csv with columns #, Metric, Value, Notes Plain text using rendered strings Matches on-screen formatting
Plan payload Copy to clipboard, download JSON file named coffee_water_ratio_plan.json with inputs, results, warnings, and errors Pretty-printed JSON (2-space indent) Results stored with full numeric values
Printable plan Download DOCX file named coffee_water_ratio_plan.docx with a title, summary lines, and the plan table Document export using displayed strings Matches on-screen formatting

Networking, storage, and determinism

  • The calculation code shown here makes no network requests, and the math runs client-only.
  • No local or session storage writes are performed by the script, beyond copy and download actions you trigger.
  • Results are deterministic for the same inputs, with a short debounce to avoid recalculating on every keystroke.
  • Warnings are advisory and depend on ratio, total brew water, and the selected method.
  • The JSON preview is escaped before rendering to reduce the risk of HTML injection.

Performance and complexity

The computation is constant time and uses a small set of arithmetic operations, so performance is dominated by UI updates rather than math.

Assumptions and limitations

  • Heads-up Water is treated as 1 g per 1 mL for planning, which is an approximation that varies slightly with temperature.
  • Grounds absorption is a single average value, but retention varies with roast, grind, filter type, and contact time.
  • Tablespoon conversion depends heavily on grind density and how level the scoop is, so it is best used for rough planning.
  • Strength bands are based only on ratio and do not measure extraction yield or dissolved solids.
  • Method temperature and time are guidance values and do not change the calculated ratios or yields.
  • Planning from beverage volume requires R to be larger than a, otherwise there is no solution.
  • Bloom water is capped at total brew water, so very large bloom ratios collapse into a single full-pour bloom.
  • Very large batches may exceed your brewer, filter, or kettle capacity even if the math is valid.
  • The large batch warning triggers when brew water exceeds 2000 g and is only an advisory.

Edge cases and error sources

  • NaN or Infinity inputs can appear from copy-pasted text and will trigger errors or zero values.
  • Extremely small numbers can fall into the subnormal range (denormals) and effectively behave like zero.
  • Signed zero (−0) can surface after subtraction near zero and is treated as zero in displayed outputs.
  • Floating-point drift can show up after repeated °C to °F unit toggles due to rounding.
  • Rounding ties at the last displayed digit are handled by the JavaScript runtime, so do not depend on the final decimal for precision work.
  • Rapid typing can create brief timing races where the displayed plan lags input by a fraction of a second.
  • Stale cache effects can occur if the page is served from an old cached script, so reload if presets look wrong.
  • Non-ASCII bytes and Unicode normalization are generally irrelevant for numeric inputs, but copied text can be re-encoded by the destination app.
  • Grapheme clusters matter only when copying text into systems with strict character limits, not for the calculations.
  • IPv6 compression, wildcard DNS, and trailing slashes are not applicable because the calculator does not parse network addresses or URLs.
  • Non-convergent roots and PRNG caveats do not apply because the calculator uses direct algebra and no randomness.

Scientific and standards context

Unit labels follow common International System of Units (SI) usage for grams and milliliters, and U.S. customary usage for ounces and U.S. fluid ounces. Numeric behavior follows IEEE 754 floating-point arithmetic as implemented by JavaScript.

Privacy and compliance

Brew calculations stay on your device, and no data is transmitted or stored server-side by the calculator logic.

Step-by-Step Guide:

Coffee to water ratios become easier to repeat when you decide what you are starting from, then treat the output as a simple brew checklist.

  1. Select Start from coffee dose when you already weighed your grounds.
  2. Select Start from beverage volume when you are planning servings.
  3. Pick a Brew method to load a sensible ratio, time, and temperature baseline.
  4. Set the Brew ratio to match how strong you want the cup to taste.
  5. If you plan servings, confirm Cup size so cups match your mugs.
  6. Use Grounds absorption to match your setup, or keep the method default.
  7. Follow the suggested Bloom water, brew time, and temperature as a starting routine.
  8. Watch for Warnings that flag very strong ratios, very light ratios, or very large batches.

Example: with 30 g of coffee and a ratio of 16, the plan calls for about 480 g of brew water, about 417 mL of beverage yield, and about 60 g for the bloom.

  • If the yield looks low, lower absorption slightly or increase the ratio a small amount.
  • If the cup tastes hollow at a light ratio, tighten grind or extend contact time before changing dose.
  • If you use tablespoons, set the tablespoon weight once for your grinder and keep it consistent.
  • Write down one recipe per method so adjustments stay comparable week to week.

Pro tip: change one variable per brew, then compare taste alongside the yield and strength cue.

Features:

  • Plan from coffee dose or from a target beverage volume, with the same underlying math.
  • Method presets for ratio, absorption, water temperature, and brew time.
  • Absorption-aware yield estimate that explains why poured water and served coffee differ.
  • Bloom guidance expressed as a multiple of the coffee dose and capped by total brew water.
  • Dual-unit conversions for mass, volume, temperature, and custom cup sizes.
  • Copy or download a plan as CSV, JSON, or a DOCX document for a brew log.

FAQ:

Is my data stored?

The calculation script does not send results anywhere and does not write to local or session storage. Copies and downloads are created only when you trigger them.

If you paste the plan elsewhere, that destination may store it.
How accurate is yield?

Yield is an estimate based on a single absorption value in mL per gram, and it assumes water mass and volume are interchangeable for planning. Treat it as a practical target, then adjust after tasting.

Which units can I use?

Coffee can be entered in grams, ounces, or tablespoons. Beverage targets support milliliters, fluid ounces, and cups, where cups are based on your chosen cup size.

Does it work offline?

The calculator logic makes no network requests, so it keeps working if your connection drops after the page finishes loading.

What does “Balanced” mean?

It is a ratio-based strength cue, not a quality score. “Balanced” corresponds to ratios greater than 15.5 and up to 17.5, and values near a boundary can taste similar depending on grind and contact time.

How do I plan two cups?

Start from beverage volume, set cup size to match your mugs, then enter two cups as the target. The calculator solves the inverse equation to find a coffee dose and brew water that should yield the chosen volume.

Are there licensing terms?

The interface does not display licensing terms. If you need reuse rights beyond personal use, check the terms provided by the site or package you received this page from.

Troubleshooting:

  • If results do not appear, confirm the ratio is above zero and the starting value is greater than zero.
  • If the beverage target errors, increase the ratio or lower absorption so R is greater than a.
  • If cups look wrong, change cup size to match your mug rather than using a default.
  • If tablespoon conversions seem off, adjust the grams per tablespoon to match your grind and scoop.
  • If the plan looks too light, try a slightly lower ratio before changing multiple variables.
  • If the plan looks too strong, raise the ratio a little or use a coarser grind rather than drastically lowering dose.

Advanced Tips:

  • Tip Measure coffee and water by weight for repeatability.
  • Tip Calibrate absorption for your brewer by weighing poured water and served beverage once.
  • Tip Use the same cup size setting when comparing recipes across days.
  • Tip For large batches, keep pouring rate steady so contact time stays close to target.
  • Tip If you switch temperature units often, toggle once and avoid repeated back-and-forth rounding.
  • Tip Save one “baseline” recipe per method, then adjust ratio in small steps until flavor matches your goal.

Glossary:

Brew ratio
Grams of brew water used per gram of dry coffee.
Coffee dose
The measured amount of dry ground coffee before brewing.
Brew water
Total water added during brewing, reported as a mass in grams.
Grounds absorption
Water retained by wet grounds per gram of coffee, reducing yield.
Beverage yield
Estimated volume of coffee you can serve after absorption losses.
Bloom
The initial wetting pour, sized as a multiple of the dose.
Cup size
Your chosen serving volume used to convert yield into cups.
Strength band
A ratio-based label from Intense to Tea-like for quick context.