Home › Sports & Fitness › Hiking Time Calculator
Hiking Time Calculator
Estimates the time for a hike from distance, ascent and descent with Naismith's rule (1 h per 5 km plus 1 h per 600 m of ascent), Naismith with Langmuir's descent corrections, or Tobler's hiking function (speed = 6·e^(−3.5·|slope + 0.05|) km/h), with a pace factor for slower parties and optional breaks; all three estimates are reported.
When to use
You need a planning time for a walk or mountain hike from map distance and elevation gain/loss, or want to compare the Naismith and Tobler estimates.
Do not use when: You need running pace or race predictions (use running-pace or race-time-predictor), the route involves scrambling, snow, heavy loads or trackless terrain (the rules assume walkable paths), or you have a full elevation profile (segment-wise Tobler is more accurate than the whole-route net gradient used here).
Formula
Naismith: t = distance_km / 5 + ascent_m / 600 (hours). Langmuir: t = Naismith − descent_m / 300 × 10 min (gentle 5–12° descent) or + descent_m / 300 × 10 min (descent steeper than 12°). Tobler: v = 6 · e^(−3.5 · |(ascent_m − descent_m) / (1000 · distance_km) + 0.05|) km/h, t = distance_km / v. moving_time_hours = t × pace_factor; time_hours = moving_time_hours × (1 + break_minutes_per_hour / 60)
Naismith's rule (1892) and Langmuir's corrections (1984) are planning heuristics for fit walkers on paths; Tobler's function (1993) is an exponential fit to Imhof's walking data with a maximum of 6 km/h on a slight −5 % downhill. Applying Tobler to a whole route uses the net gradient, so a route with equal ascent and descent is treated as flat and its time is underestimated; descents on slopes below 5° get no Langmuir correction and should be left out of descent_m.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
distance_km | number | km | yes | Horizontal (map) distance of the route in kilometres. Range: > 0, ≤ 500 |
ascent_m | number | m | default 0 | Cumulative elevation gain in metres. Range: ≥ 0, ≤ 20000 |
descent_m | number | m | default 0 | Cumulative elevation loss in metres (used by the Langmuir corrections and by Tobler's net slope). Range: ≥ 0, ≤ 20000 |
method | enum: naismith | naismith_langmuir | tobler | default naismith | Rule used for the primary time; the other estimates are still reported. | |
descent_steep | boolean | default false | Langmuir only: true when the descent is on slopes steeper than 12° (adds 10 min per 300 m of descent); false treats it as a gentle 5–12° descent (subtracts 10 min per 300 m). | |
pace_factor | number | default 1 | Multiplier on the moving time: 1.0 = fit walker (Naismith's 5 km/h), 1.25 = slower or laden group (Langmuir's 4 km/h), 1.5 = family with children. Range: ≥ 0.5, ≤ 3 | |
break_minutes_per_hour | number | min/h | default 0 | Rest time added per hour of moving time. Range: ≥ 0, ≤ 30 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
time_hours | number | h | Moving time by the chosen method plus breaks. |
time_text | string | Total time as hours and minutes, e.g. '2 h 50 min'. | |
moving_time_hours | number | h | Time by the chosen method with pace_factor applied, without breaks. |
average_speed_km_h | number | km/h | distance_km / time_hours (breaks included). |
ascent_time_minutes | number | min | Naismith's ascent allowance: 1 minute per 10 m of ascent, × pace_factor. |
naismith_time_hours | number | h | Naismith's rule moving time × pace_factor, always reported. |
naismith_langmuir_time_hours | number | h | Naismith's rule with Langmuir's descent correction, × pace_factor, always reported. |
tobler_time_hours | number | h | distance_km / Tobler speed at the route's net slope (ascent − descent) / distance, × pace_factor, always reported. |
tobler_speed_km_h | number | km/h | 6·e^(−3.5·|slope + 0.05|) at the net slope; 5.04 km/h on the flat, 6 km/h maximum at a −5 % descent. |
Example
10 km with 500 m ascent, Naismith: {"distance_km":10,"ascent_m":500,"method":"naismith"} → {"time_hours":2.83,"time_text":"2 h 50 min","moving_time_hours":2.83,"average_speed_km_h":3.53,"ascent_time_minutes":50,"naismith_time_hours":2.83,"tobler_time_hours":2.37,"tobler_speed_km_h":4.23}
12 km, 800 m up and down, Langmuir, 10 min breaks per hour: {"distance_km":12,"ascent_m":800,"descent_m":800,"method":"naismith_langmuir","break_minutes_per_hour":10} → {"moving_time_hours":3.29,"time_hours":3.84,"time_text":"3 h 50 min","naismith_time_hours":3.73,"naismith_langmuir_time_hours":3.29,"tobler_time_hours":2.38,"tobler_speed_km_h":5.04}
GET https://tttkmbb.com/api/v1/calculate/hiking-time?distance_km=10&ascent_m=500&method=naismith
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/hiking-time(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/hiking-time · Markdown: https://tttkmbb.com/fitness/hiking-time.md · JSON definition: https://tttkmbb.com/fitness/hiking-time.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="hiking-time" - OpenAPI operationId:
estimate_hiking_time - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Naismith's rule (with Langmuir's corrections) (reference)
- Wikipedia – Tobler's hiking function (reference)
FAQ
Which method should I use?
Naismith for a first estimate on trails; add Langmuir's corrections when the route has long descents; Tobler when the gradient is fairly uniform (here it sees only the net gradient of the whole route).
Is distance_km the map distance or the GPS track length?
The horizontal map distance, which is what all three rules expect; a 3D track length is slightly longer on steep ground and would over-estimate the time.
How do I allow for a slower group?
pace_factor scales the moving time: 1.25 corresponds to Langmuir's 4 km/h base speed for less fit or heavily laden parties; breaks are added separately with break_minutes_per_hour.
Related calculators
- Calories Burned Calculator — Energy cost of the hike (MET 6.0 for cross-country hiking).
- Steps to Distance Calculator — Convert a step count into hiking distance.
- Running Pace Calculator — Pace and splits for running the same distance.