Macro Calculator — Daily Protein, Carbs & Fat
Set a calorie target, pick a macro split — balanced, keto, high-protein, IIFYM cut or bulk — and get daily grams of protein, carbohydrate, and fat. Atwater 4·4·9 and ISSN-backed, runs in your browser, no signup.
How it works
The calculator does three things: it takes your daily calorie target, applies a macro ratio you choose, and converts each share into grams using the Atwater general factors. Those factors — 4 kcal per gram of protein, 4 kcal per gram of carbohydrate, and 9 kcal per gram of fat — come from the 1973 USDA Agriculture Handbook by Merrill and Watt and still drive every nutrition label printed under FDA, EU, and Codex Alimentarius rules. The arithmetic is deliberately simple:
- Decide the daily calorie target. For maintenance, that is your TDEE (basal metabolic rate × an activity multiplier). For a cut, subtract 10–25%; for a lean bulk, add 5–15%.
- Pick a preset. Each preset is a published macro ratio with a literature basis — Balanced sits inside the IOM 2005 Acceptable Macronutrient Distribution Range; High-Protein and IIFYM Cut follow the ISSN 2017 protein guidelines; Keto follows the Volek & Phinney well-formulated ketogenic profile; Zone reproduces the 30/40/30 ratio popularised by Barry Sears.
- Multiply:
grams = (kcal × ratio) ÷ Atwater factor. For 2,000 kcal at the Balanced 30/40/30 split that produces 150 g protein, 200 g carbohydrate, and 67 g fat. - Optionally enter body weight. The cross-check panel then compares the implied protein grams per kilogram against the ISSN 2017 bands — 1.4–1.7 g/kg for general fitness, 1.8–2.2 g/kg during a deficit, 1.6–2.0 g/kg for lean bulks, and 2.3–3.1 g/kg for natural contest preparation (Helms et al. 2014).
- Divide by the number of meals per day. The Schoenfeld–Aragon–Krieger 2013 meta-analysis on protein timing showed that distributing protein across three to five meals supports muscle protein synthesis better than two large servings — so the calculator surfaces the per-meal split alongside the daily totals.
A protein-first cross-check is also implemented in the data module ( calculateMacrosByProteinFirst()): fix protein at a target g/kg, fix fat at a chosen percentage, and let carbohydrate fill the remaining calories. Both approaches must agree on total kilocalories — the two routines effectively verify each other.
Worked examples
Macro presets at a glance
| Preset | Protein | Carbs | Fat | Best for |
|---|---|---|---|---|
| Balanced | 30% | 40% | 30% | General maintenance for moderately active adults. |
| High protein | 40% | 35% | 25% | Resistance training or moderate calorie deficit (cutting). |
| Low carb | 30% | 20% | 50% | Steady appetite control without going full keto. |
| Keto | 25% | 5% | 70% | Well-formulated ketogenic diet — typically under 30 g net carbs/day. |
| High carb | 20% | 60% | 20% | Endurance athletes and high-volume training days. |
| IIFYM cut | 40% | 30% | 30% | Flexible-dieting cut while preserving lean mass. |
| IIFYM bulk | 25% | 50% | 25% | Slow lean-mass gain with a controlled calorie surplus. |
| Zone diet | 30% | 40% | 30% | Sears' Zone Diet ratio — same numbers as Balanced. |
Frequently asked questions
Sources & references
- Merrill & Watt (1973) — USDA Agriculture Handbook 74: Energy Value of Foods (Atwater factors)
- IOM (2005) — Dietary Reference Intakes for Energy, Carbohydrate, Fiber, Fat, Fatty Acids, Cholesterol, Protein, and Amino Acids
- Jäger et al. (2017) — International Society of Sports Nutrition position stand: protein and exercise
- Helms, Aragon & Fitschen (2014) — Evidence-based recommendations for natural bodybuilding contest preparation: nutrition and supplementation
- Phillips & Van Loon (2011) — Dietary protein for athletes: from requirements to optimum adaptation
Atwater factors, AMDR percentages, and protein-by-weight bands were last cross-checked against the sources above on 2026-05-11. The page is reviewed annually or whenever the ISSN updates its protein position stand.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Found a bug, edge case, or want to suggest an improvement?
Email me at [email protected] — most fixes ship within 24 hours.