Skip to content
πŸ› οΈToolsShed

Protein Intake Calculator

Calculate your recommended daily protein intake based on weight, goal, and activity level.

About this tool

Protein Intake Calculator helps you determine how much protein you need daily based on your body weight, fitness goal, and activity level. Whether you're building muscle, losing fat, or maintaining a healthy lifestyle, meeting your protein targets is one of the most important nutritional steps you can take, and this tool makes it simple to figure out your personal requirement.

Enter your weight, select your primary goal from the options (muscle building, fat loss, maintenance, or athletic performance), and choose your activity level. The calculator instantly shows your daily protein target in grams, along with tips for common foods that can help you reach that goal.

These recommendations are based on widely-used nutritional science guidelines. Keep in mind that individual needs vary based on metabolism, age, and specific health conditions, so consider discussing your personalized nutrition plan with a healthcare provider or registered dietitian for the best results.

Frequently Asked Questions

Code Implementation

def protein_needs(weight_kg, activity_level, goal):
    """
    Calculate daily protein needs (g/day).

    activity_level: "sedentary" | "light" | "moderate" | "heavy" | "athlete"
    goal: "maintain" | "lose_fat" | "build_muscle"
    """
    # Base multiplier per kg of body weight
    base = {
        "sedentary":  0.8,
        "light":      1.2,
        "moderate":   1.4,
        "heavy":      1.6,
        "athlete":    1.8,
    }
    multiplier = base.get(activity_level, 1.2)

    # Adjust for goal
    if goal == "build_muscle":
        multiplier = max(multiplier, 1.6)
        multiplier = min(multiplier + 0.4, 2.2)
    elif goal == "lose_fat":
        multiplier = max(multiplier + 0.4, 1.8)  # preserve lean mass

    return weight_kg * multiplier


def lean_body_mass_based(weight_kg, body_fat_pct, goal):
    """Calculate protein from lean body mass for high body-fat individuals."""
    lbm = weight_kg * (1 - body_fat_pct / 100)
    multiplier = 1.8 if goal == "build_muscle" else (2.0 if goal == "lose_fat" else 1.6)
    return lbm * multiplier


# Example usage
print("=== Total body weight method ===")
for activity in ["sedentary", "light", "moderate", "heavy", "athlete"]:
    g = protein_needs(75, activity, "build_muscle")
    print(f"  {activity:10}: {g:.0f} g/day")

print("\n=== LBM method (75 kg, 20% body fat) ===")
for goal in ["maintain", "build_muscle", "lose_fat"]:
    g = lean_body_mass_based(75, 20, goal)
    print(f"  {goal:15}: {g:.0f} g/day")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.