Calories burned from MET calculator
Thirty minutes at MET 8 for a 70 kg person burns about 280 kcal, at a rate of 560 kcal per hour: enter the MET value, your weight and the duration to get the estimate for any session. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Met
- 8
- Weight
- 70
- Duration
- 30
- Calories burned
- 280 kcal
- Calories kcal
- 280
- Weight (kg)
- 70
- Duration minutes
- 30
Athletes, coaches, and recreational sportspeople often know three numbers after a session: how hard the work felt on a MET scale, how much they weigh, and how many minutes they moved. Turning those into a kilocalorie estimate is the classic metabolic-equivalent formula taught in exercise science and used in many training logs. One MET is roughly resting metabolism; multiply that intensity by body mass in kilograms and by time in hours and you get an energy cost for the bout. This calories burned from MET calculator accepts MET, weight, and duration, returns total kcal plus the hourly burn rate, and rejects non-positive inputs with a clear validation error so bad form data never masquerades as a workout.
How the MET calorie formula works for sport sessions
Start with a MET value for the activity. One MET is roughly the energy cost of quiet sitting; light recreational walking often lands near two to three METs, steady jogging near seven to ten, and hard cycling, rowing, or competitive sport can push higher depending on effort and conditions. The standard estimate used in exercise science education and many consumer calculators is kilocalories equals MET times body weight in kilograms times duration in hours.
If you recorded the session in minutes, divide minutes by sixty to get hours, then multiply. Algebraically that is the same as MET times weight times minutes divided by sixty. For example, MET eight, seventy kilograms, and thirty minutes becomes eight times seventy times zero point five, which is two hundred eighty kilocalories for the bout.
The calculator echoes cleaned inputs, duration in both minutes and hours, the hourly rate, and the total so you can audit every factor. Entries must be finite; NaN and Infinity are rejected. Zero or negative weight, duration, or MET fail early with invalid input rather than inventing absolute values or silent zeros that would understate energy use.
This is an estimate of activity energy cost, not a lab calorimetry measurement and not a guarantee of fat loss, which also depends on diet, recovery, and total daily expenditure.
Where sport MET calorie estimates show up in real work
Personal trainers and strength coaches estimate session cost when planning weekly volume so clients understand why a long easy run and a short heavy circuit land differently on the energy ledger. Endurance athletes and club teams compare workout logs when METs are taken from published tables or device estimates and weight is known from a recent weigh-in. Physical education teachers and sports science labs assign homework that multiplies MET by mass and time so students see intensity and duration as separate levers.
Nutrition coaches combining food logs with exercise estimates want a transparent kcal number rather than a black-box AI guess that drifts between model versions. Treat BMR, TDEE with activity multipliers, VO2-based energy equations, and named-activity MET directories as separate product intents rather than overloading this calories burned from MET calculator page with every related health formula.
What you can do with it
Sport session energy estimates
Turn MET, body weight, and session minutes into a consistent kcal total for training diaries, coaching reviews, and weekly volume summaries.
Classroom MET drills
Generate answer keys for exercise-science homework that multiplies MET by kilograms and hours without spreadsheet drift.
FAQ
What is a MET?
MET means metabolic equivalent of task: a multiple of resting energy cost. Quiet sitting is about 1 MET; moderate and vigorous sports use higher published values from sources such as the Compendium of Physical Activities.
What happens if weight or duration is zero or negative?
Non-positive weight or duration (and non-positive MET) are rejected rather than inventing absolute values or silent zeros.
What units should I use?
Weight in kilograms, duration in minutes, and MET as a dimensionless intensity multiplier.
What does it cost?
The browser tool is free and runs locally.
How many calories does 30 minutes at MET 8 burn for a 70 kg person?
About 280 kcal. The estimate multiplies MET by weight in kilograms and by time in hours, so 8 times 70 times 0.5 hours gives 280, half of the 560 kcal hourly rate.
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/hobby/sport-calories-met \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"met":8,"weight":70,"duration":30}'const res = await fetch("https://api.kit.forhosting.com/hobby/sport-calories-met", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"met": 8,
"weight": 70,
"duration": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/sport-calories-met",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"met": 8,
"weight": 70,
"duration": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/sport-calories-met", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"met":8,"weight":70,"duration":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"met":8,"weight":70,"duration":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/sport-calories-met", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"met": 8,
"weight": 70,
"duration": 30
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.sport_calories_met",
"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 MET calorie formula works for sport sessions
The hourly rate is simply MET times weight: here eight times seventy equals five hundred sixty kilocalories per hour, and half an hour is half of that rate. The pipeline is deterministic floating-point arithmetic with no random seeds, no wall-clock timestamps, no network calls, and no model drift, so identical MET, weight, and duration always produce identical JSON.
What you send and what you get back
Send three fields. All three fields are required. Classic checks include MET eight at seventy kilograms for thirty minutes yielding two hundred eighty kcal, and MET three point five at sixty kilograms for sixty minutes yielding two hundred ten kcal. If you need basal metabolic rate rather than activity burn, use a dedicated BMR calculator; if you need weekly MET-minutes accumulation, that is a separate product intent and landing. The field met is the activity MET as a finite positive number, or you may use aliases met_value, mets, or intensity. The field weight is body mass in kilograms, also finite and strictly greater than zero, with aliases weight_kg, kg, mass, and body_weight. The field duration is the bout length in minutes, finite and strictly greater than zero, with aliases duration_min, duration_minutes, minutes, time, and mins. Missing fields, empty strings, non-numeric values, NaN, Infinity, and any non-positive met, weight, or duration fail with invalid_input and are not charged. On success the response includes calories_burned and calories_kcal as the same cleaned total, unit set to kcal, the cleaned met and weight_kg, duration_minutes and duration_hours, kcal_per_hour as the MET times weight rate, plus a formula string documenting the minutes-over-sixty form and method met_weight_duration. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where sport MET calorie estimates show up in real work
Curriculum authors building interactive lessons need the same JSON shape 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 session burns
Bulk-estimate calories for uploaded sport activity rows with the same formula as the free browser tool; reject non-positive weight or duration with invalid_input.
Technical questions
How are calories burned calculated from MET?
Using the standard estimate kcal = MET × weight_kg × (duration_minutes / 60). The hourly rate is MET × weight_kg. Results are kilocalories for the bout.