ForHosting KIT · Developer Utilities

Tobler Hiking Speed Calculator for Uphill and Downhill Slopes

The Tobler hiking speed calculator estimates a hiker's walking speed from the steepness and direction of a slope.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter a signed gradient percentage: positive values describe uphill travel, negative values describe downhill travel, and zero represents level ground. The result includes speed in kilometres per hour and metres per second, plus minutes per kilometre for planning. It applies Tobler's deterministic hiking function, including its prediction that a gentle descent is faster than a perfectly level route.

Enter a signed terrain gradient

Gradient describes vertical change relative to horizontal distance. A value of 10 percent means the route gains 10 metres over 100 horizontal metres, so it should be entered as positive 10 when you are walking uphill. The same segment entered as negative 10 represents travel in the downhill direction. This sign matters because Tobler's function is asymmetric: climbing and descending the same physical path do not produce the same estimated speed. Enter zero for level ground. If your mapping tool reports a decimal slope rather than a percentage, multiply it by 100 before entering it; a slope of 0.08 is an 8 percent gradient. Use the average grade only for a reasonably uniform segment. For a route with alternating climbs and descents, split it into sections and calculate each section separately, because averaging opposite grades can hide the effort of both. The accepted range is from negative 100 to positive 100 percent, which covers very steep hiking terrain while preventing implausible values and accidental unit mistakes.

Understand Tobler's hiking function

The calculator uses the equation v = 6 × exp(−3.5 × |s + 0.05|), where v is walking speed in kilometres per hour and s is the signed slope expressed as rise divided by horizontal run. The shift by 0.05 gives the curve its distinctive optimum: predicted speed is highest on a gentle 5 percent descent, not on level ground. Speed falls as the terrain becomes steeper uphill or farther downhill beyond that optimum. This captures the practical observation that a slight descent can assist walking, while a severe descent demands shorter steps, braking, and greater care. The function is empirical and deterministic, so the same input always produces the same output. Alongside kilometres per hour, the result converts speed to metres per second and calculates pace in minutes per kilometre. Values are rounded to six decimal places for stable results, while calculations use the unrounded value internally. The returned formula and normalized decimal slope make the estimate transparent and easy to audit or reproduce.

Use the estimate in route planning

Treat the result as a terrain-based baseline rather than a guaranteed personal pace. Tobler's function describes a general relationship between slope and walking speed; it does not know the hiker's fitness, pack weight, altitude, surface, weather, fatigue, rest stops, navigation delays, or technical obstacles. To estimate time for a uniform section, divide its distance in kilometres by the returned speed in kilometres per hour. For a varied route, calculate each section using its signed grade, compute each section's time, and add the times. That method preserves the uphill and downhill differences that a single route-average grade would erase. Use shorter sections where gradients change sharply, but avoid false precision when elevation data is noisy. The pace result is convenient for comparing segments, while metres per second can be useful in geographic or simulation workflows. Add a sensible contingency for breaks and local conditions, especially on loose, icy, exposed, or pathless ground. This calculator supports planning and comparison; it is not a safety assessment or a substitute for current trail information and judgement.

Compare uphill and downhill directions

Estimate how walking speed changes when the same signed slope is travelled in the opposite direction.

Plan time by route segment

Calculate a speed for each relatively uniform section, then combine segment travel times for a better route estimate.

Check a mapping or simulation model

Generate transparent deterministic speed values for slope-aware accessibility, recreation, or geographic analysis.

What does a positive gradient mean?

A positive gradient means uphill travel. A negative gradient means downhill travel, and zero means level ground.

Why is the fastest result near a 5 percent descent?

Tobler's empirical curve places its maximum at a decimal slope of negative 0.05, representing a gentle downhill grade.

Can I use an average grade for an entire hike?

Only as a rough shortcut. Splitting a varied route into signed-grade sections avoids cancelling climbs and descents in the average.

Does the estimate include stops or difficult surfaces?

No. It models slope only and does not account for breaks, fitness, load, weather, altitude, surface quality, or technical terrain.

How much does the API calculation cost?

Each API request costs $0.002. The same deterministic calculation can also run in the browser.

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-tobler

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-tobler \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"gradient_percent":10}'
{
  "gradient_percent": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.sport_hike_tobler",
  "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.

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.

Read the full KIT documentation →