Veterinary RER and MER Calculator
About this app
Veterinary RER and MER Calculator Veterinary RER and MER Calculator Resting and maintenance energy for dogs and cats. Feeding math, not a drip converter. Body weightkg RER method 70 × BW^0.75 (all weights) 30 × BW + 70 (about 2–30 kg only) MER factorWSAVA / AAHA starting multipliers. Adjust for BCS and diet. 1.0 weight loss 1.2 inactive / obese-prone 1.4 indoor cat typical 1.6 neutered adult dog 1.8 intact adult / gestation 2.0 puppy 4 mo to adult 3.0 puppy under 4 mo 4.0 lactation (mid range; 2–6) Calculate RER / MER Formula RER (kcal/day) = 70 × BW(kg)^0.75 Linear option for 2–30 kg: RER = 30 × BW + 70 MER = RER × factor Factors are starting points from WSAVA nutritional assessment and AAHA nutrition guidelines. Recheck body-condition score. References NRC. Nutrient Requirements of Dogs and Cats. National Academies Press; 2006. Allometric RER. WSAVA Global Nutrition Committee. Nutritional assessment guidelines. RER = 70 × BW^0.75 and MER factors. AAHA. Nutrition and weight management guidelines. 2021. MER starting multipliers and BCS monitoring. Veterinary education only. Not a prescription. Confirm doses and volumes with the attending clinician and current formularies before...
Related apps
Put this on your site
Source
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Veterinary RER and MER Calculator</title>
<meta name="description" content="Free veterinary RER and MER calculator. 70 × BW^0.75 kcal/day with WSAVA/AAHA factors.">
<meta name="keywords" content="RER calculator, MER calculator, resting energy requirement, veterinary nutrition, WSAVA, AAHA, kcal dog cat">
<style>
:root { --text:#1a1a1a; --muted:#4a4a4a; --line:#d6d6d6; --bg:#fff; --panel:#f6f6f6; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
* { box-sizing:border-box; }
body {
margin:0;
font:16px/1.45 system-ui,-apple-system,sans-serif;
color:var(--text);
background:var(--bg);
overflow-x:hidden;
}
main {
max-width:720px;
margin:0 auto;
padding:24px 16px 48px;
padding-left:max(16px, env(safe-area-inset-left));
padding-right:max(16px, env(safe-area-inset-right));
}
html.in-viewer main {
padding-top:calc(4.25rem + env(safe-area-inset-top, 0px));
padding-right:calc(4.75rem + env(safe-area-inset-right, 0px));
padding-bottom:calc(6.5rem + env(safe-area-inset-bottom, 0px));
}
h1 { font-size:1.35rem; margin:0 0 0.35rem; }
h2 { font-size:1.05rem; margin:1.75rem 0 0.5rem; }
p, li { color:var(--text); }
.lede, .note, .disclaimer, label span { color:var(--muted); }
.lede, .disclaimer { font-size:0.95rem; }
label span { font-weight:400; font-size:0.85rem; }
form, .stack { display:grid; gap:14px; margin:1.25rem 0; }
fieldset {
border:1px solid var(--line);
border-radius:6px;
padding:12px;
display:grid;
gap:12px;
min-width:0;
}
legend { font-weight:600; padding:0 6px; }
label { display:grid; gap:4px; font-weight:600; }
.check { display:flex; align-items:center; gap:10px; font-weight:600; }
.check input { width:22px; height:22px; min-height:22px; flex:0 0 auto; }
input, select, textarea {
font:inherit;
font-size:16px;
min-height:44px;
padding:10px 12px;
border:1px solid var(--line);
border-radius:6px;
width:100%;
max-width:100%;
background:#fff;
}
button {
font:inherit;
font-size:16px;
font-weight:600;
width:100%;
min-height:48px;
padding:12px 14px;
border:0;
border-radius:6px;
background:#1a1a1a;
color:#fff;
cursor:pointer;
}
.result {
padding:16px;
background:var(--panel);
border:1px solid var(--line);
border-radius:6px;
}
.result strong { font-size:1.35rem; }
.parts { display:grid; gap:6px; margin-top:10px; font-size:0.95rem; }
pre.formula {
white-space:pre-wrap;
overflow-wrap:anywhere;
background:var(--panel);
border:1px solid var(--line);
border-radius:6px;
padding:12px;
font-size:0.9rem;
max-width:100%;
}
ol.refs { padding-left:1.25rem; }
ol.refs li { margin-bottom:0.6rem; }
a { color:inherit; }
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
table { border-collapse:collapse; width:100%; font-size:0.9rem; }
th, td { border:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
.muted { color:var(--muted); font-size:0.9rem; }
</style>
</head>
<body>
<main>
<h1>Veterinary RER and MER Calculator</h1>
<p class="lede">Resting and maintenance energy for dogs and cats. Feeding math, not a drip converter.</p>
<form id="calc-form">
<label>Body weight<span>kg</span>
<input id="bw" type="number" min="0" step="any" inputmode="decimal" value="10">
</label>
<label>RER method<span></span>
<select id="method">
<option value="exp" selected>70 × BW^0.75 (all weights)</option>
<option value="lin">30 × BW + 70 (about 2–30 kg only)</option>
</select>
</label>
<label>MER factor<span>WSAVA / AAHA starting multipliers. Adjust for BCS and diet.</span>
<select id="factor">
<option value="1">1.0 weight loss</option>
<option value="1.2">1.2 inactive / obese-prone</option>
<option value="1.4">1.4 indoor cat typical</option>
<option value="1.6" selected>1.6 neutered adult dog</option>
<option value="1.8">1.8 intact adult / gestation</option>
<option value="2">2.0 puppy 4 mo to adult</option>
<option value="3">3.0 puppy under 4 mo</option>
<option value="4">4.0 lactation (mid range; 2–6)</option>
</select>
</label>
<button type="submit">Calculate RER / MER</button>
</form>
<div class="result" id="result" hidden></div>
<h2>Formula</h2>
<pre class="formula">RER (kcal/day) = 70 × BW(kg)^0.75
Linear option for 2–30 kg: RER = 30 × BW + 70
MER = RER × factor
Factors are starting points from WSAVA nutritional assessment
and AAHA nutrition guidelines. Recheck body-condition score.</pre>
<h2>References</h2>
<ol class="refs">
<li>NRC. <i>Nutrient Requirements of Dogs and Cats</i>. National Academies Press; 2006. Allometric RER.</li>
<li>WSAVA Global Nutrition Committee. Nutritional assessment guidelines. RER = 70 × BW^0.75 and MER factors.</li>
<li>AAHA. Nutrition and weight management guidelines. 2021. MER starting multipliers and BCS monitoring.</li>
</ol>
<p class="disclaimer">Veterinary education only. Not a prescription. Confirm doses and volumes with the attending clinician and current formularies before use.</p>
</main>
<script>
if (window.self !== window.top) {
document.documentElement.classList.add('in-viewer');
}
function num(id) {
var el = document.getElementById(id);
if (!el) return 0;
var value = parseFloat(el.value);
return isFinite(value) && value > 0 ? value : 0;
}
function raw(id) {
var el = document.getElementById(id);
if (!el) return NaN;
var value = parseFloat(el.value);
return isFinite(value) ? value : NaN;
}
function sel(id) {
var el = document.getElementById(id);
return el ? el.value : '';
}
function showResult(html) {
var el = document.getElementById('result');
el.hidden = false;
el.innerHTML = html;
}
function fmt(value, digits) {
if (!isFinite(value)) return '—';
return value.toFixed(digits);
}
document.getElementById('calc-form').addEventListener('submit', function (event) {
event.preventDefault();
var bw = num('bw'), factor = parseFloat(sel('factor'));
if (!bw) {
showResult('<p>Enter body weight greater than zero.</p>');
return;
}
var expRer = 70 * Math.pow(bw, 0.75);
var linRer = 30 * bw + 70;
var rer = sel('method') === 'lin' ? linRer : expRer;
var mer = rer * factor;
var warn = sel('method') === 'lin' && (bw < 2 || bw > 30) ?
'<p class="note">Linear 30×BW+70 is a 2–30 kg shortcut. Prefer 70×BW^0.75 outside that range.</p>' : '';
showResult(
'<div>RER</div><strong>' + fmt(rer, 0) + '</strong><span> kcal/day</span>' +
'<div class="parts"><div>MER = ' + fmt(mer, 0) + ' kcal/day at factor ' + factor + '</div>' +
'<div>70 × BW^0.75 = ' + fmt(expRer, 0) + ' kcal/day</div>' +
'<div>30 × BW + 70 = ' + fmt(linRer, 0) + ' kcal/day</div></div>' + warn
);
});
</script>
</body>
</html>
NEW APPS
These are apps made by the community!