You've done the math. You know you need 3,200 calories a day to gain weight. Great.
Now what?
Because "3,200 calories" isn't a meal plan. It's a number. And the second you try to turn it into actual food, you hit the wall every skinny guy hits: how much of that should be protein, how much carbs, how much fat?
So you google it. One guy says 40/40/20. Another says 30/50/20. Some bodybuilder on YouTube swears by 25/55/20. A Reddit thread tells you ratios don't matter at all, just eat. And now you're more confused than when you started, so you eat a burrito and call it a bulk.
Here's the thing nobody tells you: the arguing is mostly noise, but the answer still matters — just not in the way you think. Percentages are a terrible way to set your macros. Grams per pound of bodyweight is the way, and once you flip to that framework, the whole thing gets stupidly simple.
Let's fix this in one sitting.
- Set protein and fat first as fixed gram targets, then fill the rest with carbs
- Protein: 1.6-2.2g per kg of bodyweight — more is not better, it just crowds out carbs
- Fat: 20-30% of total calories, never below 20% or your hormones suffer
- Carbs get everything left over, and for hardgainers that's usually 45-55% of calories
- Percentages shift as your calories change — grams per bodyweight don't, which is why they're better
- If the scale stalls, add carbs, not protein
Why Percentage Splits Are a Bad Starting Point
Here's the core problem with "40/40/20": percentages don't tell you how much food you're eating. They tell you how a number is divided.
Take two guys, both eating a "40% protein" diet.
Guy A weighs 132 lbs and eats 2,400 calories. His 40% protein is 240g.
Guy B weighs 198 lbs and eats 4,000 calories. His 40% protein is 400g.
Same ratio. Wildly different diets. Guy A is eating 1.8g per lb of protein — nearly double what he needs. Guy B is eating 2g per lb — also absurd. Both of them are spending money and stomach space on protein that will get burned for energy, and both of them are short on the carbs that actually fuel their training.
Now flip it. When you set protein in grams per pound of bodyweight, the number is tied to something real: how much muscle tissue you're trying to feed. It doesn't drift when your calories change. It doesn't drift when you bulk harder or ease off.
Your body doesn't know what percentage of your intake protein represents. It knows how many grams of amino acids arrived.
That's the whole argument. Percentages are an output, not an input. Set your grams, then calculate the percentage afterward if you're curious — but never build the diet from the percentage down.
Most macro-split debates come from cutting advice being copy-pasted onto bulking. In a deficit, high protein percentages make sense because you're protecting muscle with fewer total calories. In a surplus, you have calories to spare — you don't need to squeeze protein percentage up. The advice was right for the wrong context.
The Framework: Fix Two, Fill One
Every good bulking macro setup works the same way:
- Lock protein as a gram target based on bodyweight
- Lock fat as a percentage floor of total calories
- Dump everything left over into carbs
That's it. Carbs are the flex variable because carbs are the easiest macro to eat, the cheapest, and the one that drives training performance. If you need to add 400 calories tomorrow, you add rice — not chicken, not olive oil.
If you haven't nailed down your calorie number yet, stop here and go read how to calculate your bulking calories first. Macros without a calorie target is like planning a road trip without a destination. You need the total before you split it.
Step 1: Protein — Lock It and Stop Overthinking
Target: 0.7-1.0g per lb of bodyweight.
That's it. That's the range every credible meta-analysis lands on, and going above it does approximately nothing for muscle growth.
For a 154 lb guy, that's 112-154g of protein per day. For an 176 lb guy, it's 128-176g.
Where in the range should you sit? Simple rules:
- Bottom of the range (1.6) if you're eating a big surplus and training 3 days a week
- Middle (1.8-2.0) for most people — this is the sweet spot
- Top of the range (2.2) if you're training 5+ days a week, or you're older, or you're in a very slight surplus
Notice what's missing from that list: "eat more protein because more protein is better." It isn't. Protein above roughly 1.0g per lb gets oxidized for energy or converted, which is a laughably expensive way to buy calories. Chicken breast costs three times what rice does per calorie.
There's also a hidden cost that hardgainers feel hard: protein is filling as hell. Every extra 50g of protein you force down is 50g of the most satiating macro on earth, sitting in a stomach that already struggles to make room. That's 200 calories you could have gotten from carbs with zero effort.
We went deep on this in how much protein you actually need to build muscle — including the distribution stuff (spreading it across 4-5 meals) that matters more than the total once you're in range.
If your protein target feels impossible to hit, don't just add another shake on top of a diet you're already struggling to finish. Swap a low-protein food for a high-protein one instead. Rice with chicken instead of rice with butter. Greek yogurt instead of regular. Same volume, more protein.
What that looks like in food
For a 165 lb guy targeting 150g of protein:
| Food | Serving | Protein |
|---|---|---|
| Chicken breast | 200g | 60g |
| Greek yogurt | 250g | 25g |
| Whey shake | 1.5 scoops | 38g |
| Eggs | 3 large | 18g |
| Rice + oats (incidental) | — | 15g |
| Total | 156g |
That's four intentional protein sources across a day. Not eight. Not a chicken breast every three hours. Four.
Step 2: Fat — Set a Floor, Then Leave It Alone
Target: 20-30% of total calories.
Fat is the macro people either fear or abuse, and both are mistakes.
Go too low (under 20%) and you're playing with your testosterone production, joint health, and the absorption of vitamins A, D, E and K. There's real research showing low-fat diets in men correlate with lower testosterone — not catastrophically, but why would you volunteer for that while trying to build muscle?
Go too high (above 35%) and you crowd out carbs. Fat is 9 calories per gram versus 4 for carbs, so it's brilliant for adding calories to a small volume of food — but it does nothing for glycogen, and glycogen is what lets you hit your fifth set of squats.
For most bulking setups, 25% is the target and 20% is the floor.
Math for a 3,200 calorie bulk at 25% fat:
- 3,200 × 0.25 = 800 calories from fat
- 800 ÷ 9 = 89g of fat per day
That's not a lot of thinking. Two tablespoons of peanut butter, a handful of nuts, some olive oil for cooking, whole eggs, whole milk instead of skim. You'll hit it without trying.
Whole milk is the single best fat source for a hardgainer. One cup is 150 calories with 8g of fat and 8g of protein, and it takes literally zero effort to drink. Two cups a day is 300 free calories.
The high-fat exception
If you're a genuine hardgainer with a small appetite — the kind of guy who feels sick after a normal meal — push fat to 30-35% and drop carbs accordingly. Fat's calorie density is your friend when volume is the bottleneck. You'll lose a little training-fuel efficiency, but calories you actually eat beat calories you theoretically should eat.
Step 3: Carbs — Everything Left Over
Now you subtract. Whatever calories remain after protein and fat, divide by 4. That's your carb target.
Example — 165 lb guy, 3,200 calorie bulk:
| Macro | Calculation | Grams | Calories | % of total |
|---|---|---|---|---|
| Protein | 2.0g/kg × 75 | 150g | 600 | 19% |
| Fat | 25% of 3,200 ÷ 9 | 89g | 800 | 25% |
| Carbs | remainder ÷ 4 | 450g | 1,800 | 56% |
| Total | 3,200 | 100% |
Look at that split: 19/56/25. Not 40/40/20. Not even close to the numbers you keep seeing online.
And that's the point. When you set protein and fat correctly and let carbs take the remainder, the protein percentage comes out low — because you're eating a lot of total calories. That's not a mistake. That's what a bulk looks like.
If you're eating 4,000 calories and still hitting 40% protein, you're eating 400g of protein a day and I promise you're miserable, broke, and no more muscular for it.
Why Carbs Are the Real Hardgainer Macro
This is where most skinny-guy nutrition advice fails. Everyone's so focused on protein that carbs get treated as an afterthought — filler you tolerate to hit your calories.
Wrong. For a hardgainer, carbs are the growth macro. Here's why.
They fuel the training that causes growth
Muscle doesn't grow because you ate protein. It grows because you gave it a reason to — a hard, progressively overloaded training session — and then had the materials on hand to rebuild.
Resistance training runs primarily on muscle glycogen, which comes from carbs. Run low on glycogen and your last two sets go to hell. Fewer hard reps means less stimulus means less growth, regardless of how much chicken you ate.
They're protein-sparing
When carbs are adequate, your body uses them for energy and leaves your dietary protein free to do its actual job — building tissue. When carbs are low, some of that expensive protein gets burned for fuel instead. You paid for building material and got firewood.
They pull water into muscle
Every gram of glycogen stored in muscle drags roughly 3g of water in with it. That's part of why guys look fuller within a week of raising carbs. It's not muscle yet, but it creates a better environment for growth — hydrated muscle cells are more anabolic.
They're the easiest calories to eat
Practically: a cup of cooked rice is 200 calories and disappears in ninety seconds. 7 oz of chicken is also 200 calories and takes real chewing effort. When you need to add 500 calories to a day, carbs are the path of least resistance.
White rice, pasta, bagels, cream of rice, fruit juice, honey, dried fruit, potatoes. Skip the high-fiber, high-volume stuff at the margins — brown rice and huge salads are great for health but terrible when your problem is fitting calories in. Get your fiber, just don't build your bulk on it.
Macro Targets by Bodyweight
Here's the whole thing precalculated. Find your weight, take the numbers, go eat.
These assume a moderate surplus (roughly 350-400 calories above maintenance), 2.0g/kg protein, and 25% fat.
| Bodyweight | Calories | Protein | Fat | Carbs |
|---|---|---|---|---|
| 55 kg / 121 lb | 2,600 | 110g | 72g | 415g |
| 60 kg / 132 lb | 2,800 | 120g | 78g | 445g |
| 65 kg / 143 lb | 3,000 | 130g | 83g | 480g |
| 70 kg / 154 lb | 3,200 | 140g | 89g | 515g |
| 75 kg / 165 lb | 3,400 | 150g | 94g | 545g |
| 80 kg / 176 lb | 3,600 | 160g | 100g | 575g |
| 85 kg / 187 lb | 3,800 | 170g | 106g | 605g |
Two caveats before you screenshot this.
One: the calorie column is an estimate based on average activity. Your actual number could be 400 calories in either direction depending on your job, your NEAT, and how much you fidget. Calculate it properly rather than trusting a table.
Two: those carb numbers look terrifying if you've never tracked before. 18 oz of carbs a day sounds insane until you realize it's about four cups of rice, a couple bananas, some oats and a bagel. Spread across five meals it's completely normal eating.
How to Adjust When the Scale Stalls
You've been running your split for three weeks. Weight hasn't moved. What do you change?
Add carbs. Not protein.
Here's the decision tree, in order:
Week 1-2 of a stall: check your tracking first
Before you change a single macro, confirm you're actually eating what you think you're eating. Untracked cooking oil, eyeballed rice portions, "one" handful of nuts that's really three — these routinely hide 300-500 calories.
The most common cause of a "stall" isn't a bad macro split. It's a logging problem. If you're not weighing your food, read how to track macros for bulking before you touch anything else.
Confirmed stall: add 200-300 calories of carbs
Keep protein exactly where it is. Keep fat where it is. Add roughly 50-75g of carbs and hold for two weeks.
Why carbs and not fat? Two reasons. First, carbs give you the training-performance return alongside the calories. Second, they're easier to add without killing your appetite for the next meal — 300 calories of rice sits lighter than 300 calories of peanut butter.
Still stalled after two more weeks? Add fat too
Now you use fat's calorie density. Add a tablespoon of olive oil to a meal, or a couple tablespoons of peanut butter to your shake. That's 120-200 calories in a form that takes almost no stomach space.
Gaining too fast? Cut carbs first
If you're putting on more than about 1 lb a week and it's clearly going to your waist, pull 200 calories of carbs. Protein and fat stay locked. Same principle in reverse — carbs are the dial, everything else is fixed.
Never adjust more than one variable at a time, and never adjust more often than every two weeks. Bodyweight fluctuates by 2-4 lbs daily from water, sodium and gut contents. If you're chasing the daily number you'll be adjusting forever and learning nothing. Use a weekly average.
Common Macro Split Mistakes
1. Chasing a percentage instead of a gram target. Covered above, but it bears repeating — it's the root of most of the others.
2. Fearing carbs because of cutting content. Ninety percent of nutrition content online is aimed at people trying to lose fat. Their rules aren't your rules. You're playing a different game.
3. Setting fat below 20%. Usually happens accidentally when someone maxes protein and carbs. Check the math — if fat comes out at 12% of calories, redistribute.
4. Treating the split as sacred. Hit within about 10g of protein and fat and land close on calories, and you're fine. Nobody has ever failed to build muscle because they ate 138g of protein instead of 145g.
5. Ignoring fiber entirely. Aim for around 30g a day. Constipation on a high-carb, high-calorie bulk is a real and deeply unpleasant problem. Fruit, oats and vegetables at the edges of meals solve it.
6. Changing the split every week. Give any setup at least 14 days before you judge it. Two weeks of consistent data beats six weeks of frantic tinkering.
Sample Day: 165 lb Guy, 3,200 Calories
Here's the 150g protein / 450g carb / 89g fat split turned into actual food.
Breakfast — 1 cup dry oats cooked in whole milk, 1 scoop whey, 1 banana, 1 tbsp honey → 750 cal, 40g protein
Lunch — 7 oz chicken breast, 2 cups cooked white rice, vegetables, 1 tbsp olive oil → 900 cal, 55g protein
Pre-workout snack — 2 slices toast with jam, Greek yogurt → 450 cal, 22g protein
Dinner — 6 oz salmon, large sweet potato, side salad → 800 cal, 42g protein
Before bed — whole milk with a scoop of whey and 1 tbsp peanut butter → 400 cal, 30g protein
Total: roughly 3,300 calories, 189g protein. Slightly over on protein, which is fine — you don't have to hit it perfectly, you have to land near it consistently.
Notice the structure: every meal has a protein anchor and a carb base, and fat comes along for the ride from milk, oil, nuts and fatty fish. You never sit down and think "where do I get fat from." It shows up.
When the Numbers Are the Problem
Here's the honest bottleneck. You now know your split. You know that a 165 lb guy needs roughly 150g protein and 450g carbs. And you're still going to spend forty minutes on Sunday trying to turn that into a grocery list, and you'll probably get it wrong the first three weeks.
That gap — between correct numbers and actual meals on actual plates — is where most bulks die. Not from bad ratios. From the daily friction of translation.
That's where FuelTheGains comes in. You give it your bodyweight, your calorie target and your split, and it builds the week: meals that hit your macros, portions in grams, and a grocery list that matches. No spreadsheet, no guessing whether your dinner leaves room for the carbs you still owe yourself.
It doesn't replace understanding this stuff — knowing why carbs get the remainder is what lets you adjust intelligently when the scale stalls. But once you understand it, you shouldn't have to redo the arithmetic every Sunday for the rest of your life.
The Bottom Line
Stop shopping for the perfect percentage. There isn't one.
Set protein at 0.7-1.0g per lb. Set fat at 20-30% of calories. Give carbs everything that's left. Hold it for two weeks, watch the weekly average, and add carbs if the scale won't move.
That's the entire system. It'll land you somewhere around 20/55/25, it'll look nothing like the splits you see in bodybuilding forums, and it'll work better than any of them — because it's built from grams your body can actually use, not from a ratio someone made up to sound balanced.
Get the calories right, get protein in range, and go eat some damn rice.
