13
Calculate hop utilization based on boil time with our easy-to-use calculator. This tool helps brewers determine the optimal hop selection and boil time to achieve the desired bitterness and flavor in their beer. Enter the boil time and bitterness in IBUs to get started.
.bmb-calc {
max-width: 100%;
padding: 20px;
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.bmb-calc label {
display: block;
margin-bottom: 10px;
}
.bmb-calc input {
width: 100%;
height: 40px;
margin-bottom: 20px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
.bmb-calc button {
width: 100%;
height: 40px;
background-color: #d4a843;
color: #fff;
border: none;
border-radius: 5px;
cursor: pointer;
}
.bmb-calc button:hover {
background-color: #c49c36;
}
.bmb-calc .result {
font-size: 24px;
font-weight: bold;
color: #d4a843;
margin-top: 20px;
}
const boilTimeInput = document.getElementById(‘boil-time’);
const ibuInput = document.getElementById(‘ibu’);
const calculateButton = document.getElementById(‘calculate’);
const resultDiv = document.getElementById(‘result’);calculateButton.addEventListener(‘click’, calculateHopUtilization);
boilTimeInput.addEventListener(‘input’, calculateHopUtilization);
ibuInput.addEventListener(‘input’, calculateHopUtilization);function calculateHopUtilization() {
const boilTime = parseFloat(boilTimeInput.value);
const ibu = parseFloat(ibuInput.value);
const utilization = calculateUtilization(boilTime, ibu);
resultDiv.innerText = `Hop Utilization: ${utilization.toFixed(2)}%`;
}function calculateUtilization(boilTime, ibu) {
// Tinseth formula
const utilization = (1.65 * Math.pow(0.0002, (boilTime – 5) / 10)) * ibu / boilTime;
return utilization * 100;
}