Free macro calculator. Get daily protein, carb, and fat targets from your TDEE, goal, and diet split — Mifflin-St Jeor based, no signup.
14–100.
120–230 cm.
35–250 kg.
Your macros start from your total daily energy expenditure (TDEE). We estimate your basal metabolic rate with the Mifflin-St Jeor equation — the formula most dietitians treat as the modern default — then multiply by an activity factor from 1.2 (sedentary) to 1.9 (very active). That gives a maintenance calorie number. We adjust it by your goal (−15% to lose fat, +15% to build muscle) and split the result into grams of protein, carbohydrate, and fat using the Atwater energy values: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat.
It's tempting to obsess over the perfect ratio, but the calorie target does most of the work for weight change — the split mainly influences how full you feel, how you perform in training, and how easily you stick to the plan. Protein is the macro worth protecting: it preserves muscle in a deficit and keeps hunger down, which is why the high-protein preset is a safe default for fat loss. Carbs fuel hard workouts; fat supports hormones and satiety. Pick the split you can actually live with for months, not the one that looks optimal on paper.
Knowing your targets is the easy part — hitting them consistently is what changes your body. The people who succeed don't white-knuckle every meal; they build a repeatable routine and check in daily. You can track "hit my protein target" or "log every meal" as a one-tap daily habit in HabitBox — it's free, works on iOS and Android, stores your data on-device with no account, and the growing streak gives your nutrition the same momentum a good training plan has.
Note: these are estimates for healthy adults and not medical or dietary advice. If you're pregnant, managing a health condition, or recovering from disordered eating, talk to a registered dietitian or clinician before setting calorie or macro targets.
First we estimate your daily energy needs (TDEE) using the Mifflin-St Jeor equation for BMR multiplied by your activity factor. That total is adjusted by your goal: −15% for fat loss, no change to maintain, or +15% to build muscle. The resulting calorie target is then divided across protein, carbs, and fat according to your chosen split, using 4 kcal per gram of protein, 4 per gram of carb, and 9 per gram of fat.
Balanced (30/35/35) suits most people and is easy to sustain. High-protein (40/30/30) helps preserve muscle in a deficit and keeps you fuller, so it's popular for fat loss. Low-carb (35/20/45) appeals to people who feel better on fewer carbs. Keto (25/5/70) keeps carbs very low to encourage ketosis — effective for some, but restrictive and worth researching before committing. None is magic: total calories drive weight change, while the split mainly affects satiety, performance, and adherence.
A 15% calorie change is a moderate, sustainable rate for most people — roughly 0.5–1 lb (0.25–0.5 kg) per week depending on your size. If you're carrying more body fat you can run a slightly larger deficit; if you're lean or training hard you may prefer a gentler 10%. Re-check your numbers every few weeks, because TDEE shifts as your weight and activity change.
For active people aiming to build or keep muscle, research supports roughly 1.6–2.2 g of protein per kg of body weight per day. The high-protein split usually lands in that range. If the protein number here looks low for your training, switch to the high-protein preset or simply prioritise hitting the protein target before filling in carbs and fat.
The Mifflin-St Jeor equation is defined in kilograms and centimetres, so we ask for those directly to keep the math exact. To convert: divide pounds by 2.205 for kilograms, and multiply inches by 2.54 for centimetres. A 5'10" person is about 178 cm, and 165 lb is about 75 kg.
The targets are easy; consistency is the hard part. HabitBox lets you track 'hit my protein target' or 'log every meal' as a one-tap daily habit and watch the streak compound — free, on-device, no account.
Free · Local-only data · No account required