FuelTheGains Logo
FuelTheGains
How it worksPricingFAQBlog
Sign inGet started
Back to blog
July 22, 2026·16 min read

Bulking Macros: The Ideal Ratio for Muscle Gain

The exact bulking macro split for skinny guys — protein, carb and fat targets in grams per bodyweight, plus how to adjust when the scale stalls.

A plate divided into portions of grilled chicken, white rice and avocado representing a bulking macro split

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.

Key takeaways
  • 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.

Why the internet argues about this

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:

  1. Lock protein as a gram target based on bodyweight
  2. Lock fat as a percentage floor of total calories
  3. 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.

Warning

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:

FoodServingProtein
Chicken breast200g60g
Greek yogurt250g25g
Whey shake1.5 scoops38g
Eggs3 large18g
Rice + oats (incidental)—15g
Total156g

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.

Pro tip

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:

MacroCalculationGramsCalories% of total
Protein2.0g/kg × 75150g60019%
Fat25% of 3,200 ÷ 989g80025%
Carbsremainder ÷ 4450g1,80056%
Total3,200100%

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.

Carb sources that don't fill you up

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.

BodyweightCaloriesProteinFatCarbs
55 kg / 121 lb2,600110g72g415g
60 kg / 132 lb2,800120g78g445g
65 kg / 143 lb3,000130g83g480g
70 kg / 154 lb3,200140g89g515g
75 kg / 165 lb3,400150g94g545g
80 kg / 176 lb3,600160g100g575g
85 kg / 187 lb3,800170g106g605g

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.

Warning

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.

PDF

Free PDF: The Bulking Blueprint

Macro targets, sample meals, grocery list, and the 5 mistakes that stall most bulks.

Get the guide + occasional tips. Unsubscribe anytime.

Ready to stop guessing?

Get a personalized meal plan with exact quantities, optimized for your bulking goals — updated weekly as your body changes.

Get started free
FuelTheGains Logo
FuelTheGains

Personalized meal plans powered by math. Built for people who train hard and think smart.

Product

How it worksPricingFAQ

Support

EmailX@matthieumatical

Legal

Terms of ServicePrivacy PolicyLegal Notice

Featured

ShowMySites

© 2026 Forge Ventures. All rights reserved.