Guide · Fitness
Macro Calculator: Split Protein, Carbs, and Fat by Percent
Updated 2026-09-02 · 8 min read
Search for a macro calculator and you get three conflicting religions: 40/30/30, 50/30/20, and "just hit your protein." All of them are ways to allocate the same daily calorie budget across macronutrients. None of them, by itself, diagnoses deficiency, prescribes a medical diet, or proves you will lose fat.
DevOkk's Macro Calculator does one job cleanly: given daily calories and a protein / carbohydrate / fat percent split, it prints grams per day using standard Atwater energy factors (4 kcal/g protein, 4 kcal/g carbohydrate, 9 kcal/g fat). Default sample: 2136 kcal at 30/40/30 → about 160 g protein, 214 g carbs, 71 g fat. You can enter calories directly or let the page estimate TDEE from height, weight, age, sex, and activity (Mifflin–St Jeor × activity factor). That estimate is the same family of arithmetic as Calorie Calculator, not a metabolic chamber.
This page is the teaching layer: how the split math works, two common presets compared on the same calorie line, why TDEE quality dominates the output, and why a browser macro table is not a diet prescription. Protein by body weight is a parallel instrument: Protein grams per kg. Daily energy accounting is BMR vs TDEE vs calories burned. Sibling gram tools: Protein Calculator, Carbohydrate Calculator, Fat Intake Calculator.
Percent split → grams: the Atwater bridge
Macronutrients are counted in grams on food labels but planned in percent of calories in many coaching templates. The bridge is energy density:
| Macronutrient | kcal per gram (Atwater) |
|---|---|
| Protein | 4 |
| Carbohydrate | 4 |
| Fat | 9 |
Given daily calories C and percents P%, C%, F% (summing to 100):
- Protein kcal = C × (P/100) → protein g = protein kcal ÷ 4
- Carb kcal = C × (C/100) → carb g = carb kcal ÷ 4
- Fat kcal = C × (F/100) → fat g = fat kcal ÷ 9
Example at 2136 kcal, 30/40/30:
- Protein: 2136 × 0.30 = 640.8 kcal → 160.2 g
- Carbs: 2136 × 0.40 = 854.4 kcal → 213.6 g
- Fat: 2136 × 0.30 = 640.8 kcal → 71.2 g
Check: 160.2×4 + 213.6×4 + 71.2×9 ≈ 2136 kcal. DevOkk enforces that P + C + F = 100 before computing. Alcohol, fiber fermentability, and label rounding are not modeled. This is planning arithmetic, not a USDA laboratory analysis of your Tuesday lunch.
Teaching example A: 40/30/30 (carb-forward)
40% carbs / 30% protein / 30% fat appears in older balanced-diet teaching and some endurance templates. It is not magic. It is a default-shaped split that keeps protein near 1 g per lb body weight for many recreational targets when calories are moderate.
At 2000 kcal:
| Macro | % | kcal | grams |
|---|---|---|---|
| Carbohydrate | 40 | 800 | 200 g |
| Protein | 30 | 600 | 150 g |
| Fat | 30 | 600 | 67 g |
For an 80 kg lifter, 150 g protein is 1.875 g/kg - above the 1.6 g/kg strength default on Protein Calculator but not extreme. For a 60 kg runner on the same 2000 kcal line, 150 g is 2.5 g/kg, which may be higher than they need for performance unless calories are intentionally low. The split did not know their mass. You must cross-check grams against weight-based guidance in Protein grams per kg.
40/30/30 is useful as a first spreadsheet row: enough protein for many gym-goers, enough carbs to fuel glycogen-heavy sessions, enough fat for hormones and satiety without crowding protein. It is not a diagnosis of what you should eat with diabetes, celiac disease, renal limits, or an eating disorder.
Teaching example B: 50/30/20 (protein-forward)
50% protein / 30% carbs / 20% fat is the other poster on the forum wall - common in fat-loss phases and high-protein coaching talk. Same 2000 kcal, different allocation:
| Macro | % | kcal | grams |
|---|---|---|---|
| Protein | 50 | 1000 | 250 g |
| Carbohydrate | 30 | 600 | 150 g |
| Fat | 20 | 400 | 44 g |
250 g protein on 80 kg is 3.1 g/kg. Healthy kidneys often tolerate high protein from food, but chronic kidney disease and some clinical conditions require medical limits - a macro preset cannot see labs. 44 g fat is low for some people (fat-soluble vitamins, meal satisfaction). 150 g carbs may be fine for a desk job and insufficient for a marathon block. The split is a ratio on a calorie line, not a training program.
Compare 40/30/30 vs 50/30/20 at the same 2000 kcal:
- Protein moves 150 g → 250 g (+100 g)
- Carbs move 200 g → 150 g (−50 g)
- Fat moves 67 g → 44 g (−23 g)
If your TDEE is wrong, both rows are wrong in the same direction. Fixing the split without fixing calories is rearranging deck chairs.
DevOkk default: 30/40/30 on 2136 kcal
The live Macro Calculator opens with 30% protein / 40% carbs / 30% fat on 2136 kcal direct entry. That calorie number is not random: it matches a sedentary Mifflin TDEE example (male, 80 kg, 180 cm, 30 years, activity ×1.2) from the same ecosystem as Calorie Calculator. The default split sits between the two teaching posters - moderate protein, slightly carb-forward, moderate fat.
You can switch to estimate mode and let the page compute TDEE from anthropometrics, or paste a calorie target from a food log average. Estimate mode labels the output (Mifflin TDEE estimate) so you remember the denominator is regression math, not a DXA-derived expenditure.
Presets on the page (balanced, high protein, low carb, etc.) are shortcuts for percents, not endorsements. Custom percents are allowed as long as they sum to 100.
TDEE input quality: garbage in, grams out
Macro grams scale linearly with the calorie input. A 10% error in TDEE becomes a 10% error in every macro gram. Common TDEE errors:
- Activity factor optimism. Choosing "active" because you went to the gym twice while sitting ten hours moves TDEE up hundreds of kcal. BMR vs TDEE vs calories burned explains why session METs and daily factors overlap if you double-count.
- Using BMR as TDEE. Basal rate is rest-only. Macro splits on BMR under-feed most living humans.
- Ignoring trend weight. A single week's scale noise should not rewrite maintenance. Three-to-four week averages beat panic adjustments.
- Pregnancy, illness, thyroid, medications. Mifflin does not model them. Clinical energy needs need clinicians.
If you do not trust the calorie denominator, direct mode with a logged average beats estimate mode. If you do not trust any denominator, macro math is still relative - useful for "what does 30% protein look like at 2200 vs 2000?" - not absolute truth.
When percent splits disagree with g/kg protein
Two legitimate planning paths:
- Percent of calories (macro calculator)
- Grams per kg body weight (Protein Calculator)
They often diverge. Example: 80 kg, strength 1.6 g/kg → 128 g protein target. At 2136 kcal, 128 g is only 128×4 = 512 kcal, about 24% of calories, not 30%. To hit 30% protein at 2136 kcal you need 160 g - 2.0 g/kg. Neither is "wrong"; they answer different questions.
Workflow many coaches use:
- Set protein from g/kg (or lean mass if you trust composition).
- Set fat from a floor (often 0.6–1.0 g/kg teaching range - Fat Intake Calculator helps reason about grams).
- Fill remaining calories with carbs for training fuel.
That is gram-first planning. The macro calculator is percent-first planning. DevOkk offers both because search queries split the same way. Read Protein grams per kg before letting a 50/30/20 poster override kidney or clinical advice.
Sibling tools: same calories, one macro each
Carbohydrate Calculator and Fat Intake Calculator solve single-macronutrient questions when you already know calories and one percent. Protein Calculator can compare g/kg to percent-of-calories if you type energy intake. Calorie Calculator is the upstream TDEE estimate; Macro Calculator is downstream allocation.
None of them:
- Build meals or grocery lists
- Time nutrients around workouts
- Prescribe medical nutrition therapy for diabetes, CKD, or eating-disorder recovery
- Replace a registered dietitian or physician
Session burn from a run belongs on Calories Burned Calculator - see METs and calories burned. Do not add a MET session on top of an already "very active" TDEE without reading the accounting rules in BMR vs TDEE.
Fiber, alcohol, and labels the split ignores
Food labels include fiber (often 4 kcal/g or net-carb debates) and alcohol (~7 kcal/g). DevOkk's macro split assumes pure P/C/F on the calorie total. Real diets mix alcohol, sugar alcohols, and ultra-processed foods where label calories are rounded. A 30/40/30 split on 2136 kcal does not tell you to drink three beers - alcohol grams need their own line item.
Net carb counting for diabetes or keto medical protocols is not this page. Low-carb presets on the calculator are percent shortcuts for education, not ketosis guarantees.
Privacy and the honest use case
Height, weight, age, sex, activity, calories, and percents run in JavaScript in your browser. They are not sent to DevOkk to finish the formula. Drafts can sit in localStorage on your device for up to 30 days. Clear them on shared computers. No account. Not medical advice.
Use Macro Calculator when you want grams from percents at a calorie line you already chose - or when you want to compare presets like 40/30/30 and 50/30/20 on the same TDEE. Use Protein Calculator when the question is g/kg. Use Calorie Calculator when the question is maintenance energy, remembering Mifflin is a population equation.
The split is a spreadsheet convenience. Your clinician, your food log, and your training block still outrank a percent poster. Screening weight status is Why BMI is not a diagnosis - a different instrument entirely. Strength planning links: One-rep max formulas and Fitness Calculators for pace, heart rate, and session tools.
Frequently asked questions
How does DevOkk split calories into protein, carbs, and fat grams?
Macro Calculator multiplies daily kcal by each percent, then divides protein and carbs by 4 kcal/g and fat by 9 kcal/g (Atwater). Default 2136 kcal at 30/40/30 → about 160 g protein, 214 g carbs, 71 g fat.
Do protein, carb, and fat percents have to add to 100?
Yes. The page rejects splits that do not sum to 100 within rounding. You can type custom percents or pick presets; the grams always follow the same 4/4/9 energy factors.
Should I use direct calories or TDEE estimate mode?
Direct mode is best when you already have a target from a clinician, a coach, or a logged average. Estimate mode uses Mifflin–St Jeor BMR × activity - the same family as Calorie Calculator. Read BMR vs TDEE vs calories burned before treating either number as truth.
What is the difference between 40/30/30 and 50/30/20?
Both sum to 100. 40/30/30 shifts more calories to carbs; 50/30/20 shifts more to protein. At 2000 kcal, 50/30/20 yields 250 g protein vs 150 g at 30/30/40. Neither is automatically correct for your sport or health status.
Can a macro split replace g/kg protein guidance?
Not always. Protein Calculator uses body weight × activity (e.g. 1.6 g/kg). A 30% protein split on a low-calorie day can under-shoot g/kg, or over-shoot on a high TDEE. Compare both; see Protein grams per kg.
Does DevOkk upload my macro inputs?
No. Math runs in the browser. Drafts can sit in localStorage on your device for up to 30 days. No account. Percent splits are educational planning estimates, not medical nutrition therapy.
Related guides
More reading that links back to the same tools and workflows.
Protein Grams per kg: What the Calculator Can and Cannot Say
Sedentary 0.8 g/kg vs strength 1.6 g/kg, lean mass vs total weight, and kidney caveats. DevOkk's protein calculator is a range estimate - not a meal plan or medical nutrition prescription.
8 min read
BMR vs TDEE vs Calories Burned: Three Numbers, Three Jobs
Mifflin–St Jeor BMR is not TDEE, and TDEE is not a MET session. How DevOkk splits the calorie calculator, the BMR calculator, and calories burned - and why none of them is a meal plan.
8 min read
METs and Calories Burned: What the Number Means
MET × kg × hours estimates session energy from Compendium averages. How DevOkk's calories burned calculator relates to BMR and TDEE - and why your watch may disagree.
7 min read
One-Rep Max Formulas: What Epley and Brzycki Assume
Epley and Brzycki turn a submax set into a 1RM estimate. DevOkk caps reps at 12, shows both formulas, and prints %1RM loads - with honest limits for beginners and bad form.
7 min read