Total distance to destination. Standard hexes are usually 6 miles.
Standard walking speed is 30 ft. Use the slowest member's speed.
Fast (Penalty to Perception)
Normal
Slow (Able to Stealth)
Fast: -5 Passive Perception. Slow: Capable of Stealth.
Normal Terrain
Difficult Terrain (Half Speed)
Difficult terrain includes dense forests, swamps, or steep mountains.
Standard travel day is 8 hours. Going beyond risks exhaustion (Forced March).
Effective Speed (MPH):0 mph
Distance Per Day:0 miles
Total Travel Time:0 days
Mechanics Note:–
function calculateTravel() {
// 1. Get Inputs
var distance = parseFloat(document.getElementById('travelDistance').value);
var baseSpeedFeet = parseFloat(document.getElementById('baseSpeed').value);
var pace = document.getElementById('travelPace').value;
var terrain = document.getElementById('terrainType').value;
var hoursPerDay = parseFloat(document.getElementById('hoursPerDay').value);
// Validation
if (isNaN(distance) || distance <= 0) {
alert("Please enter a valid travel distance.");
return;
}
if (isNaN(baseSpeedFeet) || baseSpeedFeet <= 0) {
alert("Please enter a valid base speed.");
return;
}
if (isNaN(hoursPerDay) || hoursPerDay 3mph
var effectiveMph = 0;
if (pace === 'fast') {
effectiveMph = baseSpeedFeet === 30 ? 4 : (baseMphNormal * 1.3333);
} else if (pace === 'slow') {
effectiveMph = baseSpeedFeet === 30 ? 2 : (baseMphNormal * 0.6666);
} else {
effectiveMph = baseMphNormal;
}
// 3. Apply Terrain Modifier
if (terrain === 'difficult') {
effectiveMph = effectiveMph / 2;
}
// 4. Calculate Totals
var totalHoursNeeded = distance / effectiveMph;
var milesPerDay = effectiveMph * hoursPerDay;
var totalDays = Math.floor(totalHoursNeeded / hoursPerDay);
var remainingHours = totalHoursNeeded % hoursPerDay;
// Rounding for display
effectiveMph = Math.round(effectiveMph * 10) / 10;
milesPerDay = Math.round(milesPerDay * 10) / 10;
// Formatting Time String
var timeString = "";
if (totalDays > 0) {
timeString += totalDays + (totalDays === 1 ? " Day" : " Days");
}
if (remainingHours > 0.1) { // tolerance for float errors
if (totalDays > 0) timeString += " and ";
// Round remaining hours to 1 decimal
var rHours = Math.round(remainingHours * 10) / 10;
timeString += rHours + (rHours === 1 ? " Hour" : " Hours");
}
if (timeString === "") timeString = "Less than 1 hour";
// Determine Note
var note = "Normal travel.";
if (pace === 'fast') note = "-5 penalty to Passive Perception.";
if (pace === 'slow') note = "Party may use Stealth.";
if (hoursPerDay > 8) note += " Warning: Forced March saving throws required for hours > 8.";
// 5. Output
document.getElementById('resMph').innerHTML = effectiveMph + " mph";
document.getElementById('resDailyDist').innerHTML = milesPerDay + " miles";
document.getElementById('resTotalTime').innerHTML = timeString;
document.getElementById('resNote').innerHTML = note;
document.getElementById('result-area').style.display = 'block';
}
Understanding Travel in D&D 5e
Travel is a pillar of exploration in Dungeons & Dragons, yet the mathematics behind it can slow down a session. This D&D Travel Calculator is designed to help Dungeon Masters and players quickly determine how long it takes to get from Point A to Point B based on the standard 5th Edition Rules.
Travel Pace Mechanics
In 5th Edition, your party can choose between three travel paces. The standard calculations assume a base walking speed of 30 feet per round.
Fast Pace (4 mph): The party covers roughly 30 miles in a standard 8-hour day. The trade-off is a -5 penalty to Passive Perception scores, making the party more susceptible to ambushes.
Normal Pace (3 mph): The party covers roughly 24 miles per day. There are no bonuses or penalties.
Slow Pace (2 mph): The party covers roughly 18 miles per day. The benefit is that the party is able to move using Stealth, potentially avoiding random encounters.
Difficult Terrain
Not all roads are paved. When traveling through dense forests, deep swamps, chaotic ruins, or steep mountains, you are likely in Difficult Terrain. According to the rules, moving through difficult terrain costs an extra foot of movement for every foot moved. In simpler travel terms, this halves your travel speed.
For example, a party moving at a Fast Pace (30 miles/day) through a swamp (Difficult Terrain) will only cover 15 miles in that same day.
Forced March
The Player's Handbook assumes a travel day consists of 8 hours of movement. However, heroes often push their limits. If you travel more than 8 hours in a day, you enter a Forced March.
For each hour of travel beyond the 8th, each character must make a Constitution saving throw at the end of the hour. The DC is 10 + 1 for each hour past 8 hours. On a failed save, a character suffers one level of Exhaustion.
Hex Crawling Conversion
If you are running a "Hex Crawl" campaign (like Tomb of Annihilation), the map is divided into hexagons. The standard scale for a D&D province map hex is 6 miles from corner to corner (or center to center).
To use this calculator for hexes, simply multiply your number of hexes by the hex scale (e.g., 10 hexes * 6 miles = 60 miles) and enter 60 into the "Travel Distance" field.