# Running Pace Calculator

> Computes running pace in min/km and min/mile and speed in km/h and mph from a distance and elapsed time, and projects the finish time for 5 km, 10 km, half marathon and marathon at that constant pace.

- Calculator id: `running-pace` · Category: Sports & Fitness (`fitness`) · Tool name: `calculate_running_pace`
- Canonical page: https://tttkmbb.com/fitness/running-pace · This document: https://tttkmbb.com/fitness/running-pace.md · JSON definition: https://tttkmbb.com/fitness/running-pace.json

## Purpose

Computes running pace in min/km and min/mile and speed in km/h and mph from a distance and elapsed time, and projects the finish time for 5 km, 10 km, half marathon and marathon at that constant pace.

**Use when:** You know a distance and the time it took (or a target time) and need the pace, the equivalent speed, or the time that pace gives over standard race distances.

**Do not use when:** You want a realistic prediction of a longer race from a shorter one (pace slows with distance; use race-time-predictor), or you only need to convert between pace and speed units (use pace-converter).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `distance` | number |  | required | Distance covered, in the unit given by distance_unit. (> 0, max 5000) |
| `distance_unit` | enum: km \| mi |  | optional, default "km" | Unit of the distance input. |
| `time` | string |  | required | Elapsed time as h:mm:ss (1:45:00), mm:ss (50:00) or plain minutes (50). |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `pace_min_per_km` | string | min:sec/km | Minutes and seconds per kilometre. |
| `pace_min_per_mile` | string | min:sec/mi | Minutes and seconds per mile. |
| `pace_seconds_per_km` | number | s/km | Same pace as a plain number of seconds per kilometre. |
| `speed_kmh` | number | km/h | Average speed in kilometres per hour. |
| `speed_mph` | number | mph | Average speed in miles per hour. |
| `distance_km` | number | km | Input distance converted to kilometres. |
| `time_5k` | string | h:mm:ss | Time to run 5 km at exactly this pace. |
| `time_10k` | string | h:mm:ss | Time to run 10 km at exactly this pace. |
| `time_half_marathon` | string | h:mm:ss | Time for 21.0975 km at exactly this pace. |
| `time_marathon` | string | h:mm:ss | Time for 42.195 km at exactly this pace. |

## Formula

`pace_s_per_km = time_seconds / distance_km; pace_s_per_mile = pace_s_per_km × 1.609344; speed_kmh = 3600 / pace_s_per_km; speed_mph = speed_kmh / 1.609344; time(D) = pace_s_per_km × D for D = 5, 10, 21.0975, 42.195 km`

Splits assume a perfectly even pace; they are not race predictions. Distances follow World Athletics definitions (half marathon 21.0975 km, marathon 42.195 km).

## Data Sources

- World Athletics – Book of Rules (Technical Rules: road race distances 5 km, 10 km, half marathon 21.0975 km, marathon 42.195 km) — https://worldathletics.org/about-iaaf/documents/book-of-rules (standard, retrieved 2026-09-23)
- NIST Special Publication 811 – Guide for the Use of the SI (Appendix B: 1 mile = 1609.344 m, 1 yard = 0.9144 m) — https://www.nist.gov/pml/special-publication-811 (standard, retrieved 2026-09-23)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/running-pace?distance=…&time=…`
- `POST https://tttkmbb.com/api/v1/calculate/running-pace` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/running-pace · OpenAPI operationId `calculate_running_pace` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool: `calculate_running_pace` (dedicated) or `run_calculator` with `{"calculator_id": "running-pace", "inputs": {…}}`

## Example

- 10 km in 50:00: inputs `{"distance":10,"distance_unit":"km","time":"50:00"}` → `{"pace_min_per_km":"5:00","pace_min_per_mile":"8:03","pace_seconds_per_km":300,"speed_kmh":12,"speed_mph":7.46,"time_5k":"0:25:00","time_half_marathon":"1:45:29","time_marathon":"3:30:59"}`
- 5 miles in 45:00: inputs `{"distance":5,"distance_unit":"mi","time":"45:00"}` → `{"pace_min_per_mile":"9:00","pace_min_per_km":"5:36","speed_mph":6.67,"speed_kmh":10.73,"time_10k":"0:55:55"}`

```
GET https://tttkmbb.com/api/v1/calculate/running-pace?distance=10&distance_unit=km&time=50%3A00
```

## Limitations

You want a realistic prediction of a longer race from a shorter one (pace slows with distance; use race-time-predictor), or you only need to convert between pace and speed units (use pace-converter). Splits assume a perfectly even pace; they are not race predictions. Distances follow World Athletics definitions (half marathon 21.0975 km, marathon 42.195 km). All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**How do I enter the time?**

As h:mm:ss (1:45:00), mm:ss (50:00) or a plain number of minutes (50 or 50.5).

**Why is my marathon split faster than what I could actually run?**

The splits hold the pace constant. Real performance slows with distance; race-time-predictor applies Riegel's fatigue exponent to model that.

## Related

- [Race Time Predictor](https://tttkmbb.com/fitness/race-time-predictor.md) — Predict realistic finish times for other distances instead of constant-pace splits.
- [Pace Converter](https://tttkmbb.com/fitness/pace-converter.md) — Convert between min/km, min/mile, km/h and mph directly.
- [Heart Rate Zone Calculator](https://tttkmbb.com/health/heart-rate-zones.md) — Pair pace targets with heart-rate training zones.
