NEAT calculator
10,000 steps at 70 kg add up to about 311.22 kcal of non-exercise activity in a day. Enter your step count and weight to put a clear walking line in your calorie budget, next to basal rate and workouts. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Weight (kg)
- 70
- Stride m
- 0.78 kcal/day
- Distance m
- 7,800
- Distance km
- 7.8
- Walk kcal per kg km
- 0.57
Non-exercise activity thermogenesis, or NEAT, is the energy you burn outside formal workouts: walking between rooms, standing, fidgeting, commuting on foot, and every other incidental step that never appears on a gym log. For many people NEAT is the largest controllable slice of daily energy expenditure after basal metabolism, so underestimating it quietly sabotages calorie targets, surplus or deficit plans, and progress tracking. This capability estimates that walking-linked NEAT from two numbers you already have—daily steps and body weight—using a transparent, deterministic formula. Optional stride length refines distance; when omitted, a typical adult step length is used.
What NEAT measures and how steps become kilocalories
Non-exercise activity thermogenesis is the component of total daily energy expenditure that comes from spontaneous and occupational movement rather than structured exercise sessions. Classic energy-balance models partition expenditure into basal metabolic rate, the thermic effect of food, exercise activity thermogenesis, and NEAT. Steps are a practical proxy for much of that spontaneous locomotion: a pedometer or phone already counts them, and converting counts into energy needs only body mass, an average stride, and a walking cost coefficient.
This calculator multiplies step count by stride length in meters to obtain distance, converts meters to kilometres, then multiplies by body weight in kilograms and a level-walking energy cost of zero point five seven kilocalories per kilogram per kilometre—an approximation widely used in pedometer and public-health tooling for moderate flat walking. The model does not include gym sessions, slope, load carriage, or fidgeting that produces no steps; those belong in exercise logs or more detailed activity diaries.
It also does not recompute basal rate or full TDEE: those are separate capabilities. Keeping NEAT as an explicit step-and-weight product makes the assumption transparent for coaching, research, and product audits.
What you can do with it
Add a transparent NEAT line to calorie budgets
Convert a client’s daily step count and body weight into kilocalories of non-exercise activity thermogenesis and place that figure beside basal rate and exercise for a clearer energy-balance plan.
Research and cohort step-energy conversion
Apply one stride default and walking cost coefficient across pedometer logs so study analyses share a single, auditable definition of locomotion-linked NEAT.
Wellness product step-goal education
Show users how raising average daily steps at their recorded weight changes estimated non-exercise burn in dashboards, reports, and coaching messages.
FAQ
What does it cost?
The same calculation runs free in your browser on this page.
Is this the same as TDEE or a full activity multiplier?
No. This estimates walking-linked non-exercise thermogenesis from steps and weight only. It does not compute basal metabolic rate, food thermogenesis, gym exercise, or a WHO PAL multiplier—those are separate tools you can stack if you need a full daily budget.
How are my steps turned into calories?
Steps are multiplied by your stride to get distance in kilometres. That distance is then multiplied by your weight and by 0.57 kcal per kilogram per kilometre, a common estimate for moderate walking on flat ground.
What stride length is used if I don't know mine?
It uses 0.78 metres, a common adult default. If you know your average step length, enter it instead: the distance, and therefore the calories, will match your own walking more closely.
What does this NEAT estimate leave out?
It counts only walking linked to your steps. Gym sessions, hills, carrying loads and fidgeting that produces no steps are not included; log those in an exercise diary or a more detailed activity record.
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/neat-energy \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"steps":10000,"weight_kg":70}'const res = await fetch("https://api.kit.forhosting.com/health/neat-energy", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"steps": 10000,
"weight_kg": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/neat-energy",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"steps": 10000,
"weight_kg": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/neat-energy", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"steps":10000,"weight_kg":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"steps":10000,"weight_kg":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/neat-energy", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"steps": 10000,
"weight_kg": 70
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.neat_energy",
"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
There is no fitness-tracker black box, no third-party nutrition API, and no hidden adjustments.
What NEAT measures and how steps become kilocalories
The product is reported as neat_kcal for the day covered by the step count, with an equivalent neat_kj for SI workflows.
How to call the API and read the response fields
Send two required inputs and one optional refinement. Zero is allowed and yields zero NEAT; negative counts are rejected. Convert pounds to kilograms in your client before calling if that is what you store. When omitted, the engine uses zero point seven eight meters, a common adult default; when provided it must be finite and positive. The first required field is steps: a finite non-negative number representing the step count for the day or period you care about. Aliases such as step_count, daily_steps, n_steps, and count map to the same field so existing forms can wire in without renaming. The second required field is weight_kg: a finite positive body mass in kilograms. Aliases include weight, body_weight, mass_kg, and body_weight_kg so existing onboarding forms can reuse their mass field without renaming. The optional field is stride_m: average step length in meters. Aliases include stride, stride_length, step_length, and step_length_m. Missing steps or weight, non-finite values, negative steps, or non-positive weight or stride fail with invalid_input and are not charged. A successful response returns the cleaned steps, weight_kg, stride_m applied, distance_m and distance_km, the walk_kcal_per_kg_km coefficient, neat_kcal, neat_kj, a short formula string, and the unit label kcal/day. There is no network hop, model call, or randomness, so latency stays in the pure edge-parse band and free browser checks match the paid API byte for byte. Use the distance fields when you want to show users how step goals translate into kilometres before calories, and use neat_kcal when stacking NEAT under a basal rate for a rough daily budget.
Where step-based NEAT estimates fit in real workflows
Nutrition coaching apps often already store weight from onboarding and pull daily steps from a wearable or phone; this capability turns those two fields into an explicit NEAT line item so clients see why a ten-thousand-step day moves the needle without inventing a gym session. Research coordinators can batch-apply the same stride default and walking cost coefficient across cohort step logs so secondary analyses share one definition of locomotion energy rather than ad-hoc spreadsheet factors. Employer wellness portals and insurance education tools can show members how increasing average daily steps at a fixed weight changes estimated non-exercise burn without re-asking height or age. Clinical dietitians document the stride and coefficient used in a care plan so the NEAT assumption is transparent when the case is reviewed months later. Developers embed this call in CRON jobs and webhooks so every microservice multiplies with the same constants instead of re-hardcoding floating factors that disagree on rounding. The browser path is free for single checks: enter ten thousand steps and seventy kilograms, leave stride at the default, and confirm neat_kcal equals distance times mass times zero point five seven. The API path costs $0.002 per successful request and is billed per item, which keeps bulk onboarding and nightly sync scripts inexpensive while still covering edge execution. Because results are deterministic, audit logs can store the full JSON and re-run it years later without drift, which matters when regulators or internal reviewers ask how a calorie target was justified from steps alone.
Technical questions
What inputs are required?
steps (non-negative finite count) and weight_kg (positive body mass in kilograms). Optionally pass stride_m; default is 0.78 m when omitted.
How is NEAT calculated?
Distance in kilometres is steps × stride_m / 1000. NEAT in kcal is distance_km × weight_kg × 0.57 (approximate level-walking energy cost). An equivalent neat_kj is also returned.
Why was my request rejected?
steps must be a finite number ≥ 0. weight_kg must be a positive finite number. stride_m, when set, must be positive. Missing or invalid fields return invalid_input and are not charged.