*Yield is lower than water used because coffee grounds absorb ~2x their weight in water.
Mastering the Coffee to Water Ratio
The secret to a perfect cup of coffee isn't just the quality of the beans—it's the math. A coffee ratio determines the concentration of dissolved coffee solids in your water. If you use too much water, your coffee will taste thin and over-extracted (bitter). If you use too little, it will be sour and under-extracted.
What is the "Golden Ratio"?
The Specialty Coffee Association (SCA) suggests a ratio of 1:18, which means 1 gram of coffee for every 18 grams of water. However, most home brewers find the 1:15 to 1:17 range to be the "sweet spot" for pour-over and drip methods.
Method
Recommended Ratio
Profile
Espresso
1:2
Intense, Syrupy
Aeropress
1:11 – 1:13
Concentrated
V60 / Pour Over
1:15 – 1:16
Bright, Balanced
French Press
1:12 – 1:15
Heavy Body
Cold Brew
1:4 – 1:8
Concentrate
How to Use This Calculator
Whether you have a specific amount of coffee beans left or you want to fill a specific mug size, this tool helps you scale your recipe perfectly.
By Water: Enter the size of your mug or carafe (e.g., 350ml for a standard mug).
By Coffee: If you only have 20g of beans left, enter that to see how much water to pour.
The Result: The calculator provides the exact measurements and an estimated "Yield," which accounts for the water absorbed by the coffee grounds during brewing.
Example Calculation
If you want to brew a standard 1:16 ratio with 500ml of water:
Divide 500 by 16.
Result = 31.25.
You need 31.25 grams of coffee grounds.
function toggleInputs() {
var mode = document.getElementById("calcMode").value;
var waterRow = document.getElementById("waterInputRow");
var coffeeRow = document.getElementById("coffeeInputRow");
if (mode === "water") {
waterRow.style.display = "block";
coffeeRow.style.display = "none";
} else {
waterRow.style.display = "none";
coffeeRow.style.display = "block";
}
}
function calculateCoffee() {
var mode = document.getElementById("calcMode").value;
var ratio = parseFloat(document.getElementById("ratioSelect").value);
var resDiv = document.getElementById("brewResult");
var coffeeVal = 0;
var waterVal = 0;
var yieldVal = 0;
if (mode === "water") {
waterVal = parseFloat(document.getElementById("waterAmount").value);
if (isNaN(waterVal) || waterVal <= 0) {
alert("Please enter a valid water amount.");
return;
}
coffeeVal = waterVal / ratio;
} else {
coffeeVal = parseFloat(document.getElementById("coffeeAmount").value);
if (isNaN(coffeeVal) || coffeeVal <= 0) {
alert("Please enter a valid coffee weight.");
return;
}
waterVal = coffeeVal * ratio;
}
// Absorption rule: Coffee grounds absorb roughly 2x their weight in water
yieldVal = waterVal – (coffeeVal * 2);
if (yieldVal < 0) yieldVal = 0;
document.getElementById("resCoffee").innerHTML = coffeeVal.toFixed(1) + " g";
document.getElementById("resWater").innerHTML = waterVal.toFixed(0) + " ml";
document.getElementById("resYield").innerHTML = yieldVal.toFixed(0) + " ml";
resDiv.style.display = "block";
}