Cut & Bulk Macro Planner
Plan cut, maintenance and bulk phases. Mifflin-St Jeor TDEE, protein-first macros, 3-6 meal splits and training-day carb cycling. Free, metric and imperial.
About the Cut & Bulk Macro Planner
Most macro calculators give a single daily number and stop there. Real physique training cycles between phases — aggressive cut, slow cut, mini cut, maintenance, lean bulk, dirty bulk — and each phase deserves its own protein-first macro split, calorie delta, and meal distribution. This planner builds a complete daily plan in one pass: Mifflin-St Jeor BMR (optionally blended with Katch-McArdle when body-fat % is known), activity-multiplied TDEE, goal-based calorie delta with safety floors, diet-style macro ratios (balanced, high-protein, low-carb, keto, high-carb), 3-6 meal splits with pre/post-workout slots, and training-day vs rest-day carb cycling for cut and bulk phases.
Metric and imperial units, kcal-accounted meal table, weekly weight-change projection at the 7700 kcal/kg benchmark, and built-in safety: protein scales with bodyweight, fats never drop below the essential-fatty-acid floor (0.6 g/kg), and cut calories never drop below 1.05× BMR. See also our BMR calculator and the EV Charging Cost.
How is this different from a plain TDEE or macro calculator?
A standard TDEE calculator stops at total daily energy expenditure. A basic macro calculator splits that number into protein/carb/fat once. This planner goes further: it picks the goal-appropriate calorie delta (with safety clamps), bumps protein for cut phases (more muscle preservation under deficit), enforces an essential-fatty-acid floor on fats (so keto enthusiasts don't accidentally trim below 0.6 g/kg), distributes the macros across 3-6 meals with pre/post-workout timing, and adds training-day vs rest-day carb cycling for cut/bulk phases. The result is a daily/weekly plan you can actually execute, not just a triple of numbers.
Why does the planner blend Mifflin-St Jeor with Katch-McArdle when I enter body-fat %?
Mifflin-St Jeor (1990) is the most accurate population-level BMR formula and works without body composition data — it's what dietitians and clinical software use as the default. Katch-McArdle (1996) is more accurate for lean or muscular individuals because it works from lean body mass (weight × (1 − BF%)). The catch: many BF% estimates from at-home scales, calipers, or 'guess' are wildly off (±5-8% absolute), and feeding a bad BF% into Katch-McArdle gives a worse answer than skipping it. The planner blends the two equations 50/50 when you supply a body-fat figure, giving the lean-individual benefit when BF% is reasonable and partially insulating against measurement error. For best results, use a DEXA, BodPod, or competition-level caliper measurement; for at-home estimates, leave BF% near the gender population average (18% male, 25% female).
How aggressive is an 'aggressive cut' really, and when should I use it?
Aggressive cut is set to −25% from TDEE in this planner. For a 2500 kcal/day maintenance, that's ~1875 kcal — a ~625 kcal/day deficit, projecting ~0.6 kg / 1.3 lb of fat loss per week. This is the upper edge of what most evidence-based coaches recommend for intermediate trainees with reasonable training experience. It's appropriate for: short cuts (4-8 weeks), individuals with higher body-fat starting points (>20% male / >28% female), or pre-competition timelines with hard deadlines. Avoid aggressive cuts for: lean individuals (already low body fat — muscle loss accelerates below 15% male / 22% female), beginners (you can still make gains in a small deficit), athletes with high training volume (performance crashes hard), and anyone with disordered-eating history. Standard 'cut' (−18%) is the safer default for most cycles.
Why is protein scaled per kg of bodyweight instead of a flat percentage of calories?
Because protein requirements track lean tissue, not energy intake. A 90 kg lifter eating 2000 kcal during a cut still needs ~200 g protein/day to preserve muscle — that's 40% of intake. A 65 kg person eating 3500 kcal during a bulk needs ~120 g — only 14% of intake. Percentage-based targets either over- or under-protein you depending on phase. The planner scales: 1.6-2.4 g/kg depending on diet style, with a +0.2 g/kg bump during cuts (research consistently shows higher protein preserves lean mass under energy deficit). For natural lifters in a cut, 2.2-2.6 g/kg is the well-supported range; for enhanced or older trainees, push the upper end.

What's the purpose of training-day vs rest-day carb cycling and is the evidence strong?
Carb cycling shifts more carbohydrate to training days (when glycogen demand is high) and reduces carbs on rest days (when insulin sensitivity matters less for performance and a slightly larger deficit accelerates fat loss). The planner adds +20% carbs / −10% fats on training days and the inverse on rest days, keeping weekly average calories at your goal. Evidence: meta-analyses show no significant body-composition advantage over isocaloric flat-macro diets for non-competitive trainees — the body adapts to weekly average intake, not daily timing. But carb cycling has two real advantages: psychological (you feel less restricted on training days, which improves adherence) and performance (full glycogen on training days improves lift output and rep volume). If you find isocaloric flat diets boring or training feels flat in a cut, try cycling.
Is OMAD (one meal a day) actually viable for a cut or bulk?
Cut: yes, with caveats. Eating 1500-1800 kcal in a single meal is uncomfortable but doable, and the long fasting window may aid adherence for people who hate frequent eating. Risk: protein utilization plateaus around 0.4-0.55 g/kg per meal — eating 200 g protein in one sitting may waste 30-50 g (muscle-protein-synthesis ceiling), undermining the high-protein target this planner sets. Compromise: OMAD plus a single protein-only mini-meal (whey shake + greek yogurt) 4-6 hours before the main meal. Bulk: not recommended. Hitting 3500-4000+ kcal in one meal is physically difficult, gastric discomfort kills appetite for subsequent days, and protein hits the same utilization ceiling. Bulk goals work better with 4-6 distributed meals so total daily protein synthesis is maximized.
How fast should I expect to see results, and when should I recalculate?
Cuts: visible body composition change in 3-4 weeks if the deficit is correct (1-2 cm waist drop, clearer muscle definition under arms and abs). Recalculate the plan every 2-3 weeks as bodyweight drops — TDEE falls roughly 50-100 kcal per kg lost, and sticking with the original calorie number causes the cut to stall after 4-6 weeks. Bulks: visible muscle growth in 6-8 weeks for natural intermediates (faster for beginners on a 'newbie gains' window). Recalculate every 4 weeks: as bodyweight rises, TDEE rises too, and your bulk surplus shrinks if calories don't increase. Maintenance: recalculate after any large bodyweight or activity change. The 7700 kcal/kg weekly projection assumes pure fat tissue — real-world changes are slower due to water retention swings, muscle gain/loss alongside fat, and gut content variation. Trend weight (7-day rolling average) is more reliable than daily weight.
Should I follow the meal-split percentages exactly or is there flexibility?
Flexibility is fine — total daily macros matter more than per-meal precision. The splits are research-informed templates: 20-40 g protein per meal (above the 0.4 g/kg muscle-synthesis ceiling per sitting), pre-workout carbs 1-2 hours before training (for performance), post-workout protein within 1-2 hours (for recovery, though the 'anabolic window' panic is overblown — total-day protein intake matters far more). For shift workers, OMAD followers, or anyone with hard schedule constraints, treat the per-meal numbers as targets within ±30%. Hit your daily protein floor (the green card), don't drop fats below 0.6 g/kg, and the carb number is whatever's left — that's the priority order. Use the meal table as a starting framework, then adjust based on hunger, schedule, training timing, and what foods you actually enjoy eating consistently.
