Estimate distance from step count and stride length
8,000 steps with a 0.72-meter stride cover 5,760 meters, or 5.76 kilometers. No stride measured? Enter your height and it is estimated for you, and the result says which one was used. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Step count
- 8,000
- Stride length m
- 0.72
- Stride source
- provided
- Distance m
- 5,760
- Distance km
- 5.76
- Distance miles
- 3.579098
Turn a step count into a practical walking distance without relying on a particular watch, phone, or fitness platform. Enter the number of steps and a measured stride length in meters for a personalized result, or provide height in centimeters when stride length is unknown. The calculator returns distance in meters, kilometers, and miles, clearly identifies whether the stride was supplied or estimated, and rejects negative step counts. Its deterministic formula makes it suitable for personal summaries, coaching tools, wellness dashboards, and repeatable data processing.
Choose the best stride input available
A measured stride length gives the most personal estimate because people of equal height may walk with noticeably different steps. For a useful measurement, walk a known straight distance at your normal pace, count the steps, and divide the measured distance in meters by the number of steps. Enter that value as the stride length together with your step count.
If you do not know it, provide height in centimeters instead. The calculator estimates stride as 41.4 percent of height, expressed in meters. This is a general walking approximation rather than a clinical measurement, so terrain, speed, footwear, fatigue, mobility, and individual gait can all make the true distance differ.
When both stride and height are present, the explicit stride takes priority because it reflects the person more directly. The response says whether the stride was provided or estimated, which helps downstream applications explain the result honestly and prevents an approximation from being mistaken for a GPS measurement.
Understand the calculation and returned units
The core calculation multiplies step count by stride length in meters. Eight thousand steps with a 0.72 meter stride therefore produce 5,760 meters, or 5.76 kilometers. The same distance is also converted to miles using the international definition of 1,609.344 meters per mile.
Zero steps are valid and return zero distance, but a negative step count is rejected because it cannot describe distance walked. Stride length and height must be greater than zero, and every numeric input must be finite. No network request, current time, random value, or stored profile affects the answer.
Repeating the same input always produces the same output, which makes the capability straightforward to test, audit, cache, and integrate into automated reports.
Use estimates responsibly in fitness workflows
Step-derived distance is most useful for summaries, comparisons, and broad planning. A wellness dashboard can convert daily steps into familiar units, a walking challenge can show approximate progress toward a distance target, and a coach can normalize records from devices that report steps but omit distance. For longitudinal comparisons, keep the stride method consistent: changing from a height estimate to a measured stride can create an apparent jump even when walking behavior did not change.
Preserve the returned stride source beside the distance so reviewers know how each value was calculated. Do not treat the estimate as a substitute for surveyed distance, GPS tracks, medical gait assessment, or safety-critical navigation. Very short indoor steps, steep slopes, running, assisted walking, and mixed activities may require a different stride factor or direct distance measurement.
Validate units before sending data: stride is meters, height is centimeters, and the returned distance fields explicitly identify meters, kilometers, and miles.
What you can do with it
Daily activity summaries
Convert a tracker export containing steps into kilometers and miles for an understandable personal dashboard.
Walking challenges
Estimate participant progress toward a distance goal when the available source records only step counts.
Coaching reports
Apply a measured stride consistently across sessions and retain the stride source alongside each estimate.
FAQ
How is stride estimated from height?
When no stride is supplied, stride length is estimated as height in meters multiplied by 0.414.
What if I provide both stride length and height?
The explicit stride length takes priority because a personal measurement is generally more relevant than a height-based estimate.
Which distance units are returned?
The result includes meters, kilometers, and miles, plus the stride length in meters and its source.
How do I measure my own stride length?
Walk a known straight distance at your normal pace, count the steps and divide the distance in meters by the number of steps. Entering that figure gives a more personal result than the height estimate.
Is the result as accurate as GPS?
No. It is an estimate from your steps and stride, not a GPS measurement. Terrain, speed, footwear, fatigue and your own way of walking can all make the real distance differ.
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/fitness2/step-count-distance-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"step_count":8000,"stride_length_m":0.72}'const res = await fetch("https://api.kit.forhosting.com/fitness2/step-count-distance-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"step_count": 8000,
"stride_length_m": 0.72
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fitness2/step-count-distance-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"step_count": 8000,
"stride_length_m": 0.72
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fitness2/step-count-distance-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"step_count":8000,"stride_length_m":0.72}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"step_count":8000,"stride_length_m":0.72}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fitness2/step-count-distance-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"step_count": 8000,
"stride_length_m": 0.72
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fitness2.step_count_distance_estimate",
"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
Understand the calculation and returned units
Results are rounded to six decimal places so JSON output remains compact and stable while retaining more precision than most everyday walking estimates justify. Numeric strings are accepted for convenient form and API use, while empty, infinite, Boolean, array, and object values are rejected.
Use estimates responsibly in fitness workflows
The API price is $0.002 per request, while the calculation remains a small deterministic operation.
Technical questions
What happens if the step count is negative?
The request fails with an invalid_input error because a negative step count cannot represent walked distance.
How much does an API request cost?
Each API request costs $0.002.