Hydration Needs
Performance Unlocked.
Dehydration instantly kills performance and recovery. Calculate your exact baseline water requirements based on your body weight and daily activity level. Drink up.
Daily Water Intake Calculator
Estimate how much water you need based on bodyweight, activity, and climate.
Disclaimer: This tool is for informational purposes only and is not a substitute for professional medical advice, diagnosis, or treatment.
Your Daily Target
let currentUnit = 'lbs';
function setUnit(unit) { currentUnit = unit; const btns = document.querySelectorAll('.toggle-btn'); btns.forEach(btn => btn.classList.remove('active')); if (unit === 'lbs') { btns[0].classList.add('active'); document.getElementById('weightLabel').innerText = 'Body Weight (lbs)'; document.getElementById('weight').placeholder = 'e.g. 180'; } else { btns[1].classList.add('active'); document.getElementById('weightLabel').innerText = 'Body Weight (kg)'; document.getElementById('weight').placeholder = 'e.g. 80'; } }
function calculateWater() { let weight = parseFloat(document.getElementById('weight').value); let exerciseMin = parseFloat(document.getElementById('exercise').value) || 0; let climate = document.getElementById('climate').value;
if (!weight) { alert('Please enter your body weight.'); return; }
let weightLbs = currentUnit === 'lbs' ? weight : weight * 2.20462;
// Baseline: 0.5 oz per lb of bodyweight (a common, moderate guideline) let baseOz = weightLbs * 0.5;
// Exercise: +12 oz per 30 minutes of exercise let exerciseOz = (exerciseMin / 30) * 12;
// Climate: Extra water needed for different environments let climateOz = 0; if (climate === 'hot') climateOz = 16; else if (climate === 'dry') climateOz = 12; else if (climate === 'altitude') climateOz = 16;
let totalOz = baseOz + exerciseOz + climateOz; let totalL = totalOz * 0.0295735; let totalCups = totalOz / 8;
document.getElementById('totalOz').innerText = Math.round(totalOz); document.getElementById('totalL').innerText = totalL.toFixed(1); document.getElementById('totalCups').innerText = Math.round(totalCups);
document.getElementById('baseRow').innerText = Math.round(baseOz) + ' oz'; document.getElementById('exerciseRow').innerText = Math.round(exerciseOz) + ' oz'; document.getElementById('climateRow').innerText = Math.round(climateOz) + ' oz'; document.getElementById('totalRow').innerText = Math.round(totalOz) + ' oz';
document.getElementById('results').style.display = 'block'; }
let currentUnit = 'lbs';
function setUnit(unit) { currentUnit = unit; const btns = document.querySelectorAll('.toggle-btn'); btns.forEach(btn => btn.classList.remove('active')); if (unit === 'lbs') { btns[0].classList.add('active'); document.getElementById('weightLabel').innerText = 'Body Weight (lbs)'; document.getElementById('weight').placeholder = 'e.g. 180'; } else { btns[1].classList.add('active'); document.getElementById('weightLabel').innerText = 'Body Weight (kg)'; document.getElementById('weight').placeholder = 'e.g. 80'; } }
function calculateWater() { let weight = parseFloat(document.getElementById('weight').value); let exerciseMin = parseFloat(document.getElementById('exercise').value) || 0; let climate = document.getElementById('climate').value;
if (!weight) { alert('Please enter your body weight.'); return; }
let weightLbs = currentUnit === 'lbs' ? weight : weight * 2.20462;
// Baseline: 0.5 oz per lb of bodyweight (a common, moderate guideline) let baseOz = weightLbs * 0.5;
// Exercise: +12 oz per 30 minutes of exercise let exerciseOz = (exerciseMin / 30) * 12;
// Climate: Extra water needed for different environments let climateOz = 0; if (climate === 'hot') climateOz = 16; else if (climate === 'dry') climateOz = 12; else if (climate === 'altitude') climateOz = 16;
let totalOz = baseOz + exerciseOz + climateOz; let totalL = totalOz * 0.0295735; let totalCups = totalOz / 8;
document.getElementById('totalOz').innerText = Math.round(totalOz); document.getElementById('totalL').innerText = totalL.toFixed(1); document.getElementById('totalCups').innerText = Math.round(totalCups);
document.getElementById('baseRow').innerText = Math.round(baseOz) + ' oz'; document.getElementById('exerciseRow').innerText = Math.round(exerciseOz) + ' oz'; document.getElementById('climateRow').innerText = Math.round(climateOz) + ' oz'; document.getElementById('totalRow').innerText = Math.round(totalOz) + ' oz';
document.getElementById('results').style.display = 'block'; }