Your calories & macros, sorted.
The number every plan starts from: your maintenance calories, then a protein, carb, and fat target for the goal you choose.
BMR uses the Mifflin-St Jeor equation (Mifflin et al., Am J Clin Nutr 1990;51:241–247), or Katch-McArdle (370 + 21.6 × lean kg) when you supply a body-fat %. TDEE is BMR × the activity factor you pick. A cut applies a 20% deficit, capped so it never exceeds 0.75% of bodyweight per week (midpoint of the 0.5–1%/week band in Helms et al., JISSN 2014) and never falls below 1,200 kcal/day for women / 1,500 for men (bottom of the AHA/ACC/TOS bands). Those two guardrails apply to a cut only: Maintain prints your true maintenance and Gain prints your true surplus, unaltered. There is deliberately no “never eat below your BMR” rule — BMR is a metabolic quantity, not a safety threshold, and at the sedentary multiplier an ordinary 20% cut lands below it by arithmetic. The clinically defined line is the very-low-calorie diet threshold of under 800 kcal/day, which needs medical supervision (NICE NG246); the 1,200/1,500 floors sit well above it. When a cap moves the number, this page says so above rather than hiding it. Protein is 1.4–2.0 g/kg bodyweight (ISSN 2017 position stand) or 2.3–3.1 g/kg lean mass when body-fat % is known (Helms 2014); fat is 25% of calories, floored at 15% or 0.5 g/kg. Projected weekly change uses the 3,500 kcal-per-pound rule, which is known to over-predict loss — treat it as a direction, not a promise.
Scope: this is general fitness estimation for healthy adults — not medical or nutrition advice, and not medical nutrition therapy. If a client is pregnant or postpartum, has a diagnosed condition, takes medication that affects appetite or metabolism, or shows any sign of disordered eating, this calculator is the wrong tool: refer to a physician or registered dietitian. Not sure where the line is? Walk it through the scope check.
VitalCoach turns targets like these into meal plans, check-ins, and progress your clients actually stick to.
Try VitalCoach free →