Calorie Calculator
Maintenance, cutting and bulking targets with weekly change projected.
Split a calorie target into protein, carbohydrate and fat grams using the 4/4/9 energy values, with per-meal figures and a check that the grams add back to your calories.
This is an estimate, not a diagnosis. This calculator uses published population formulas. It cannot see your medical history, body composition or blood work. Talk to a doctor or a registered dietitian before changing how you eat, train or take medication.
Macros are calories in a different currency. The split decides how your daily total divides between protein, carbohydrate and fat, and the conversion to grams is where people get caught — because fat carries more than twice the energy per gram, an equal percentage share is nothing like an equal weight.
The split matters far less than the calorie total and the protein floor. Within sensible bounds, arguing about 40% carbohydrate against 45% is a distraction from whether the total is right.
Energy per gram is fixed, so grams follow directly from calories.
| Symbol | Meaning | Unit | Typical range |
|---|---|---|---|
Calories | Daily energy target | kcal | 1,200 – 5,000 |
Protein | Share of calories, then grams | % then g | 20 – 40% |
Carbohydrate | Share of calories, then grams | % then g | 20 – 55% |
Fat | Share of calories, then grams | % then g | 20 – 40% |
Per meal | Daily grams ÷ meals | g | — |
The nine against four is why fat looks small in grams. A 30% fat share of 2,192 calories is 657.6 kcal, which is only 73.1 g — while the same 30% in protein is 164.4 g, more than twice the weight for identical energy. Anyone reading a food label rather than a percentage needs that ratio in mind.
Switch to 40/30/30 and protein rises to 219.2 g while carbohydrate falls to 164.4 g — the two simply swap, because both carry 4 kcal a gram. Fat is untouched at 73.1 g. That symmetry is worth noticing: shifting between protein and carbohydrate is a straight gram-for-gram trade, while shifting either against fat is not.
A 25% fat share of the same calories is 60.9 g. Below roughly 0.6 g per kilogram of body weight — about 49 g here — hormonal function and the absorption of fat-soluble vitamins start to suffer, which puts a practical floor under how low the fat share can go regardless of what the arithmetic allows.
Each macronutrient in percentage, grams and calories.
| Macronutrient | Share | Grams | Calories |
|---|---|---|---|
| Protein | 30.0% | 164.4 g | 658 kcal |
| Carbohydrate | 40.0% | 219.2 g | 877 kcal |
| Fat | 30.0% | 73.1 g | 658 kcal |
| Total | 100.0% | 456.7 g | 2,192 kcal |
| Per meal (4) | — | 114.2 g | 548 kcal |
Protein and fat contribute identical calories here from very different weights of food, which is the single most useful thing on this table for anyone actually planning meals. Two hundred grams of chicken breast and forty grams of olive oil are roughly comparable in energy and nothing alike on a plate.
Of the three, only protein has a strong evidence-based floor. Somewhere between 1.6 and 2.2 g per kilogram supports muscle retention and growth for people who train, and the upper end is the safer choice while in a deficit. Fat has a soft floor around 0.6 g per kilogram for hormonal reasons. Carbohydrate has no requirement at all in the strict sense — the body can make what it needs — though performance in hard training suffers when it runs low.
That asymmetry suggests a sensible order of operations: set protein from body weight first with the protein calculator, put a floor under fat, and let carbohydrate take whatever calories remain. Working that way produces a split rather than starting from one, and it is far more likely to land somewhere defensible.
Four things worth knowing before optimising a split.
Total calories dominate. For weight change specifically, the evidence that macro ratios matter independently of calories is weak. Adherence is where splits earn their keep — a higher protein share is more filling, which helps people stick to a deficit.
Fibre is a carbohydrate that behaves differently. It contributes little usable energy and a great deal of satiety, so two identical carbohydrate figures can produce very different days. Aim for 25 to 35 g of fibre inside whatever carbohydrate allowance you set.
Food labels round. Legal tolerances allow meaningful variation between the printed figure and what is in the packet, and cooking changes weights substantially. Tracking to the nearest gram implies a precision the underlying data does not have.
Timing matters less than totals. The evidence for eating protein in a narrow window after training is much weaker than it was once presented to be. Spreading protein reasonably evenly across the day is worth doing; obsessing over thirty-minute windows is not.
Percentages hide what the grams are doing. A 30% protein share means something completely different at 1,600 calories than at 3,200, because the percentage is anchored to a total that moves. Cutting calories while holding the split fixed quietly cuts protein at exactly the point you most want to protect it, which is why setting protein in grams per kilogram and letting the other two float is the more robust approach.
Fibre and alcohol sit outside the split. Fibre is counted as carbohydrate on most labels but is largely not absorbed as energy, so the usable calories in a high-fibre day run below the label total. Alcohol carries 7 calories per gram and belongs to none of the three categories, which means a drinking day silently breaks the arithmetic on this page.
Neither of those makes the split useless. They are reminders that the model is simpler than food is, and that a plan hitting its numbers to within ten grams is already more precise than the underlying data deserves.
Used sensibly, a macro split is a planning tool that makes a calorie target concrete. It tells you roughly what a day of food looks like rather than prescribing it, and the calorie calculator remains the more consequential number of the two.
Multiply calories by each share, then divide by the energy per gram — 4 for protein and carbohydrate, 9 for fat. At 2,192 kcal and 30/40/30 that is 164.4 g, 219.2 g and 73.1 g.
Because it carries 9 kcal per gram against 4 for the others. A 30% fat share of 2,192 calories is 73.1 g, while the same 30% in protein is 164.4 g.
Within sensible bounds it matters far less than the calorie total. Set protein from body weight, put a floor under fat, and let carbohydrate take the rest.
Between 1.6 and 2.2 g per kilogram if you train, and the upper end while in a deficit. This example's split gives 2.00 g/kg at 82 kg.
Roughly 0.6 g per kilogram — about 49 g here. Below that, hormonal function and absorption of fat-soluble vitamins begin to suffer.
Not strictly — the body can produce what it needs. But hard training performance falls when carbohydrate is low, which is a good practical reason to include it.
Much less than once believed. Spreading protein reasonably evenly across meals is worth doing; narrow post-training windows are not supported by strong evidence.
Twenty to forty grams a sitting is the usual advice. Across four meals this example gives 41.1 g each, which sits at the top of that range.
It is a carbohydrate but contributes little usable energy and a lot of satiety. Aim for 25 to 35 g of fibre inside whatever carbohydrate figure you set.
Less than the decimal places suggest. Label tolerances and cooking losses both introduce real error, so track consistently and adjust from the trend rather than chasing exactness.
Six tools that pick up where this one leaves off.
Maintenance, cutting and bulking targets with weekly change projected.
HealthA daily protein target from weight, training and goal.
HealthAdd activity to BMR for your real daily energy need.
HealthThe calories your body burns before you move at all.
HealthEstimate composition from tape measurements, the number BMI cannot see.
HealthA daily fluid target adjusted for exercise and climate.
HealthCookies. We use cookies for site functionality and to serve ads via Google AdSense. Nothing you type into a calculator is ever stored or sent anywhere. Read our Cookie Policy.