Daily protein intake calculator
At 70 kg and 1.6 g of protein per kilo, your daily total is 112 g. You choose the multiplier from your coach, sport guidelines or clinician, and the calculator does the honest multiplication. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Weight
- 70
- Grams per kg
- 1.6
- Daily protein g
- 112 g
- Protein g
- 112
- Weight (kg)
- 70
A daily protein intake calculator turns two numbers you already control into a clear gram target for the day: your body weight in kilograms and the grams of protein per kilogram you want for your activity level. Sports nutrition education and many coaching templates express protein as grams per kilogram of body weight rather than a single fixed number for everyone, so a seventy-kilogram recreational lifter and a ninety-kilogram endurance athlete can share the same method while using different g per kg multipliers. The arithmetic is deliberately simple—daily protein in grams equals weight times grams per kilogram—so you can audit every factor, compare training blocks, and keep food logs honest. This tool accepts those two inputs, returns the daily goal in grams plus the cleaned factors, and rejects non-positive weight with a clear validation error so bad form data never masquerades as a meal plan.
How the daily protein grams formula works
Start with body weight in kilograms and an activity-based protein target expressed as grams of protein per kilogram of body weight per day. The calculator multiplies those two finite positive numbers: daily protein in grams equals weight kilograms times grams per kilogram. For example, seventy kilograms at one point six grams per kilogram yields one hundred twelve grams of protein for the day; eighty kilograms at zero point eight grams per kilogram yields sixty-four grams.
The g per kg figure is yours to choose from coaching guidance, sport guidelines, or a clinician; common educational ranges often place sedentary adults near about zero point eight, recreationally active people near about one point two to one point six, and many strength or endurance athletes near about one point six to two point two, but those ranges are context only and not medical advice embedded in the arithmetic. Entries must be finite; NaN and Infinity are rejected.
Zero or negative weight fails early with invalid input rather than inventing absolute values or silent zeros that would understate or invent a protein goal.
Where daily protein intake calculators show up in real work
Strength coaches and sports dietitians set gram targets when body weight and an agreed g per kg multiplier are known, then map those grams onto meals without opaque black-box apps. Endurance clubs and hybrid athletes compare blocks when body mass changes slightly but the g per kg policy stays fixed, so the product updates transparently. Physical education and sports science courses assign homework that multiplies kilograms by a published protein density so students see body size and intensity policy as separate levers.
Meal-prep services that scale protein boxes by client weight need a single audited multiply rather than spreadsheet drift across staff machines. Treat BMR, TDEE, calories burned, BMI-style ratios, and food database lookups as separate product intents rather than overloading this daily protein intake calculator page with every related health formula.
What you can do with it
Training and coaching protein targets
Turn body weight and an agreed g/kg policy into a consistent daily gram goal for meal planning, check-ins, and weekly reviews.
Classroom sports-nutrition drills
Generate answer keys for homework that multiplies kilograms by a protein density without spreadsheet drift.
FAQ
How is daily protein intake calculated?
You supply body weight in kilograms and the activity-based grams of protein per kilogram per day; the product is the daily goal in grams.
What grams-per-kilogram target should I use?
That depends on goals, training, and professional guidance. Educational ranges often cite about 0.8 g/kg for sedentary adults, about 1.2–1.6 for recreational activity, and about 1.6–2.2 for many athletes—these are examples only, not medical advice. This tool multiplies whatever positive target you send.
What happens if weight is zero or negative?
Non-positive weight is rejected rather than inventing absolute values or a silent zero goal.
What units should I use?
Weight in kilograms and the protein target in grams per kilogram of body weight per day.
What does it cost?
The browser tool is free and runs locally.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/health/protein-intake \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":70,"grams_per_kg":1.6}'const res = await fetch("https://api.kit.forhosting.com/health/protein-intake", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 70,
"grams_per_kg": 1.6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/protein-intake",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 70,
"grams_per_kg": 1.6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/protein-intake", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":70,"grams_per_kg":1.6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":70,"grams_per_kg":1.6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/protein-intake", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"weight": 70,
"grams_per_kg": 1.6
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.protein_intake",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
How the daily protein grams formula works
The response echoes cleaned weight_kg and grams_per_kg, reports daily_protein_g and protein_g as the same cleaned total, sets unit to g, and documents the formula string so every client can verify the product without opening a spreadsheet. The pipeline is deterministic floating-point arithmetic with no random seeds, no wall-clock timestamps, no network calls, and no model drift, so identical weight and grams per kilogram always produce identical JSON. Non-positive grams_per_kg is likewise rejected so a zero or negative multiplier cannot produce a meaningless daily total. This is a transparent scaling calculator, not a laboratory assay of lean mass, not a meal-plan generator, and not a substitute for individualized clinical nutrition care.
What you send and what you get back
Send two fields. Both fields are required. Classic checks include seventy kilograms at one point six grams per kilogram yielding one hundred twelve grams, and eighty kilograms at zero point eight yielding sixty-four grams. If you need basal metabolic rate rather than protein grams, use a dedicated BMR calculator; if you need calories burned from MET and duration, use the calories burned tool; if you need food-label parsing or macro splits from total calories, treat those as separate search intents and landings. The field weight is body mass in kilograms as a finite positive number greater than zero, or you may use aliases weight_kg, kg, mass, or body_weight. The field grams_per_kg is the activity-based protein target in grams per kilogram per day, also finite and strictly greater than zero, with aliases g_per_kg, protein_per_kg, g_kg, protein_g_per_kg, and target_g_per_kg. Missing fields, empty strings, non-numeric values, NaN, Infinity, and any non-positive weight or grams_per_kg fail with invalid_input and are not charged. On success the response includes daily_protein_g and protein_g as the same cleaned product, unit set to g, the cleaned weight_kg and grams_per_kg factors, plus a formula string documenting weight times grams per kilogram and method weight_times_g_per_kg. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where daily protein intake calculators show up in real work
Nutrition content teams building interactive lesson pages want the same JSON offline and online so worksheets and auto-graders stay aligned. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.
Integration use cases
App and API bulk goals
Compute protein goals for many user profiles with the same formula as the free browser tool; reject non-positive weight with invalid_input.