The secret to a barista-quality cup of coffee isn't just the beans; it is the precision of your coffee-to-water ratio. This ratio determines the strength, body, and flavor profile of your brew. Whether you are using a Chemex, a French Press, or a standard drip machine, getting the numbers right ensures consistency every single morning.
Common Coffee Ratios Explained
1:15 Ratio: Produces a rich, full-bodied cup. Ideal for French Press or those who prefer a bold, heavy mouthfeel.
1:17 Ratio: Often cited as the "Golden Ratio." It provides a balanced extraction where the acidity, sweetness, and bitterness are in perfect harmony. Perfect for Hario V60 or Kalita Wave.
1:18 Ratio: A lighter, more tea-like consistency. This is great for highlighting delicate floral or fruity notes in high-quality single-origin beans.
How to Calculate Manually
If you don't have a calculator handy, the math is straightforward. To find the amount of water needed, multiply your coffee weight by the ratio number. For example, if you have 20 grams of coffee and want a 1:16 ratio:
20g coffee × 16 = 320ml water
A Note on Measurements
To achieve the best results, always use a digital scale. Measuring by volume (tablespoons and cups) is notoriously inaccurate because different coffee roasts have different densities. Darker roasts are less dense and take up more space than lighter roasts. Measuring by weight (grams) ensures that 20 grams of coffee is always 20 grams of coffee, regardless of the roast level.
function toggleInputs() {
var mode = document.getElementById("calcMode").value;
var label = document.getElementById("inputLabel");
if (mode === "coffee") {
label.innerHTML = "Coffee Weight (grams):";
} else {
label.innerHTML = "Desired Water Volume (ml):";
}
}
function updateRatioInput() {
var preset = document.getElementById("ratioPreset").value;
var customInput = document.getElementById("customRatio");
if (preset !== "custom") {
customInput.value = preset;
}
}
function calculateCoffee() {
var mode = document.getElementById("calcMode").value;
var inputValue = parseFloat(document.getElementById("inputValue").value);
var ratioValue = parseFloat(document.getElementById("customRatio").value);
var resultDiv = document.getElementById("brewResult");
var resultText = document.getElementById("resultText");
if (isNaN(inputValue) || inputValue <= 0 || isNaN(ratioValue) || ratioValue <= 0) {
alert("Please enter valid positive numbers for both fields.");
return;
}
var coffeeGrams, waterMl;
if (mode === "coffee") {
coffeeGrams = inputValue;
waterMl = inputValue * ratioValue;
} else {
waterMl = inputValue;
coffeeGrams = inputValue / ratioValue;
}
var roundedCoffee = Math.round(coffeeGrams * 10) / 10;
var roundedWater = Math.round(waterMl);
var cups = Math.round((waterMl / 236) * 10) / 10; // Approx 8oz cups
var output = "Use " + roundedCoffee + "g of coffee grounds with " + roundedWater + "ml of water.";
output += "This will yield approximately " + cups + " standard cups (8oz/236ml each) of brewed coffee.";
resultText.innerHTML = output;
resultDiv.style.display = "block";
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}