ForHosting KIT · Home, food & hobbies

Hiking time with elevation calculator

Ten kilometres with 600 m up and 300 m down take about 3 hours 10 minutes: 120 minutes of walking, 60 of climbing and 10 of descent. Plan route cards and daylight with an honest time. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Distance
10
Ascent
600
Descent
300
You get
Distance km
10
Ascent m
600
Descent m
300
Pace min per km
12

Day hikers, backpackers, and trip planners cannot treat trail length as the only clock. A ten kilometre walk on a canal towpath and a ten kilometre ridge with eight hundred metres of climb are not the same day out. This hiking time with elevation calculator combines a horizontal distance pace with extra minutes for every hundred metres of ascent and every hundred metres of descent, the same additive idea as Naismith's rule plus a Langmuir-style descent allowance. You send kilometres of trail, metres of climb, metres of descent, and optional pace overrides; you get a breakdown of flat time, climb time, descent time, and a total in hours and minutes.

How hiking time from distance, climb, and descent is built

William Naismith's 1892 rule of thumb is still the backbone of British and alpine trip planning: allow about one hour for every five kilometres of horizontal travel, then add about one hour for every six hundred metres of ascent. In minutes that is twelve minutes per kilometre on the flat plus ten minutes for every hundred metres of climb. Classic Naismith ignores downhill.

This calculator follows the later Langmuir-style correction used by many mountain leaders and treats steep descent as extra work rather than free time, adding ten minutes for every three hundred metres of loss, which is ten thirds of a minute per hundred metres. Algebraically the clock is t minutes equals distance in kilometres times pace in minutes per kilometre, plus ascent in metres divided by one hundred times the climb rate, plus descent in metres divided by one hundred times the descent rate.

A worked default case is ten kilometres, six hundred metres up, and three hundred metres down: one hundred twenty minutes of horizontal travel, sixty minutes of climb, and ten minutes of descent, for one hundred ninety minutes, or three hours and ten minutes. You may override any of the three rates when the party is slower, the pack is heavy, or the trail is a gentle downhill you do not want to tax.

Where a hiking time with elevation estimate earns its keep

Hillwalking clubs and mountain leaders publish route cards that must state an honest expected time, not a road-walk guess that ignores the climb off the valley floor. Backpackers comparing two loops with the same mileage but different total gain use the ascent and descent terms to see which day actually fits the daylight and the last bus. Outdoor education courses set homework that applies Naismith and then a descent correction so students see why a steep drop still costs minutes on tired knees.

Event organisers for charity challenges and mountain marathons seed start waves from a transparent formula instead of a black-box model that drifts between versions. Treat flat walking time without elevation, net elevation change along a profile, running race predictors, and cycling time estimators as separate product intents; this landing is the hiking-time-with-elevation query, the combination of horizontal pace with added time per unit of climb and descent.

Keep requests inside the published limits, pin the rounded totals in tests, and you get a reproducible outing clock for club sites, trip sheets, and edge workers without standing up a mapping stack of your own.

Route cards and club outings

Turn kilometres plus metres of gain and loss into a clock-style duration for hillwalking route cards, meet-up pages, and last-light checks.

Compare two trails with the same mileage

Hold distance fixed and vary ascent and descent to see which loop actually fits the day once climb and downhill time are added.

How is hiking time with elevation calculated?

Total minutes equal distance in kilometres times pace in minutes per kilometre, plus (ascent metres / 100) times minutes per 100 m of climb, plus (descent metres / 100) times minutes per 100 m of descent. Defaults are Naismith 12 min/km and 10 min/100 m up, plus Langmuir 10/3 min/100 m down.

What defaults does the calculator use if I omit the pace fields?

Horizontal pace defaults to 12 minutes per kilometre (5 km/h). Climb defaults to 10 minutes per 100 m. Descent defaults to 10/3 minutes per 100 m.

What happens if distance, ascent, or descent is negative or missing?

Negatives, non-finite values, empty strings, and missing required fields are rejected rather than silently treated as zero.

What units should I use?

Distance in kilometres, ascent and descent in metres, pace in minutes per kilometre, and climb or descent rates in minutes per 100 m. The response also reports pace in km/h and a clock-style hours and minutes split.

What does it cost?

The browser tool is free and runs locally.

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.

POSThttps://api.kit.forhosting.com/hobby/sport-hike-time-elevation

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.

curl -X POST https://api.kit.forhosting.com/hobby/sport-hike-time-elevation \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"distance":10,"ascent":600,"descent":300}'
{
  "distance": 10,
  "ascent": 600,
  "descent": 300
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.sport_hike_time_elevation",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_distance_km10000
max_elevation_m20000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Invalid distances or elevations fail with a clear invalid_input error instead of a silent zero that would understate a long day in the hills.

How hiking time from distance, climb, and descent is built

Setting ascent_pace or descent_pace to zero turns that term off, which recovers a flat walking estimate or classic Naismith with no downhill add-on. The arithmetic is deterministic floating-point with stable rounding, no random seeds, no wall-clock timestamps, and no network, so identical inputs always produce identical JSON.

What you send and what comes back

Send three required fields. Zero distance is allowed for a pure vertical scramble; zero ascent or descent is a flat or one-way profile. Optional pace is minutes per kilometre on the flat and must be greater than zero and at most one hundred eighty; omit it to use twelve. Wire the free browser form for a single outing, then call the identical contract from scripts when you need a weekend of routes. The field distance is horizontal trail length in kilometres, finite and from zero through ten thousand, with aliases distance_km, km, length, and trail_distance. The field ascent is total elevation gain in metres, finite and from zero through twenty thousand, with aliases ascent_m, elevation_gain, climb, and gain. The field descent is total elevation loss in metres, same bounds, with aliases descent_m, elevation_loss, and loss. Optional ascent_pace and descent_pace are extra minutes per hundred metres of climb and descent, from zero through one hundred twenty; omit them to use ten and ten thirds. Missing fields, empty strings, non-numeric values, NaN, Infinity, negatives, and values above the limits fail with invalid_input naming the field and are not charged. On success the body echoes cleaned inputs and the effective rates, reports pace_kmh as sixty divided by pace, splits horizontal_minutes, ascent_minutes, and descent_minutes, and returns total_minutes, total_hours, integer hours and minutes for a clock-style readout, a duration string such as 3h 10m, plus formula and method naismith_langmuir_additive. Successful API calls use the published base of $0.002 per item.

Where a hiking time with elevation estimate earns its keep

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.

Batch trip sheets and guidebook widgets

Estimate a weekend of routes with the same Naismith-plus-descent formula as the free browser tool; reject negative elevations with invalid_input.

Read the full KIT documentation →