Calculate your pace, speed, and projected race times
Kilometers (km)
Miles (mi)
Pace—min/km
Speed—km/h
Race Projections (at this pace)
5K Finish:
—
10K Finish:
—
Half Marathon:
—
Full Marathon:
—
Understanding Your Running Rate
Running rate, commonly referred to as pace, is the most critical metric for any runner, from beginners to elite athletes. Unlike speed (which measures distance over time, like km/h), pace measures time per unit of distance (minutes per kilometer or mile). This allows runners to manage their energy output during training and races effectively.
How to Calculate Running Pace
The fundamental formula for calculating your running rate is:
Pace = Total Time / Total Distance
For example, if you run 5 kilometers in 25 minutes, your pace is 5 minutes per kilometer (5:00 min/km).
Pace vs. Speed
While often used interchangeably, they provide different perspectives:
Pace: Expressed as minutes per kilometer (min/km) or mile (min/mi). It helps in timing your splits.
Speed: Expressed as kilometers per hour (km/h) or miles per hour (mph). It is more common for treadmill settings or cycling.
Common Pace Benchmarks
Level
Typical Pace (km)
Beginner Jogger
7:00 – 9:00 min/km
Intermediate Runner
5:00 – 6:30 min/km
Advanced/Elite
3:00 – 4:00 min/km
Training Tips to Improve Your Rate
To run faster and lower your pace, consider incorporating these workouts into your weekly routine:
Interval Training: Short bursts of high-intensity running followed by a recovery period.
Tempo Runs: Sustained runs at an "uncomfortably hard" pace to improve your lactate threshold.
Long Runs: Slow, steady distance to build aerobic capacity and endurance.
function calculateRunningRate() {
var distance = parseFloat(document.getElementById('runDistance').value);
var unit = document.getElementById('distUnit').value;
var hours = parseInt(document.getElementById('runHours').value) || 0;
var minutes = parseInt(document.getElementById('runMinutes').value) || 0;
var seconds = parseInt(document.getElementById('runSeconds').value) || 0;
if (isNaN(distance) || distance <= 0 || (hours === 0 && minutes === 0 && seconds === 0)) {
alert('Please enter a valid distance and time.');
return;
}
var totalSeconds = (hours * 3600) + (minutes * 60) + seconds;
var paceInSeconds = totalSeconds / distance;
// Formatting Pace
var paceMin = Math.floor(paceInSeconds / 60);
var paceSec = Math.round(paceInSeconds % 60);
if (paceSec === 60) { paceMin++; paceSec = 0; }
var formattedPace = paceMin + ":" + (paceSec < 10 ? '0' + paceSec : paceSec);
// Speed Calculation
var totalHours = totalSeconds / 3600;
var speed = distance / totalHours;
// Display basic results
document.getElementById('paceResult').innerHTML = formattedPace;
document.getElementById('speedResult').innerHTML = speed.toFixed(2);
document.getElementById('paceUnitLabel').innerHTML = 'min/' + (unit === 'km' ? 'km' : 'mi');
document.getElementById('speedUnitLabel').innerHTML = (unit === 'km' ? 'km/h' : 'mph');
// Projections
var unitFactor = (unit === 'km') ? 1 : 1.60934;
// Target distances in KM
var targets = [
{ id: 'proj5k', dist: 5 },
{ id: 'proj10k', dist: 10 },
{ id: 'projHalf', dist: 21.0975 },
{ id: 'projFull', dist: 42.195 }
];
// Normalized pace (seconds per KM)
var secPerKm = unit === 'km' ? paceInSeconds : paceInSeconds / 1.60934;
for (var i = 0; i 0) timeStr += h + "h ";
timeStr += m + "m " + (s < 10 ? '0' + s : s) + "s";
return timeStr;
}