Calculate the required Rate of Descent (ROD) to reach a target altitude.
Please check your inputs. Current altitude must be higher than target.
Required Rate of Descent0 fpm
Altitude to Lose:0 ft
Time to Target:0 min
Descent Gradient (Angle):0°
Vertical Speed / NM:0 ft/nm
How to Calculate Descent Rate
Calculating the correct descent rate is critical for pilots to ensure a stabilized approach and arrival at a specific waypoint at the correct altitude. Whether you are flying VFR or IFR, understanding the relationship between speed, distance, and altitude loss is fundamental to aviation safety.
The Descent Rate Formula
The calculation is derived from the time it takes to traverse a specific distance at a given ground speed. The basic steps are:
Determine Altitude Loss: Subtract Target Altitude from Current Altitude.
Calculate Time: Divide the Distance (NM) by the Ground Speed (Knots) to get hours, then multiply by 60 for minutes.
Calculate Rate of Descent (ROD): Divide the Altitude Loss by the Time in minutes.
Pilots often use the "3-to-1 rule" for descent planning. This rule states that for every 1,000 feet of altitude you need to lose, you should allow 3 nautical miles of distance.
Example: To lose 10,000 feet, start your descent 30 NM out (10 * 3).
Calculating fpm: A common shortcut for a standard 3-degree glideslope is to multiply your Ground Speed by 5. For example, at 120 Knots, your descent rate should be approximately 600 fpm.
Why Ground Speed Matters
Wind affects your descent profile significantly. If you have a strong tailwind, your ground speed increases. To maintain the same descent angle (flight path), you must increase your rate of descent (fpm). Conversely, a headwind slows your ground speed, requiring a lower rate of descent to maintain the glide path.
Descent Gradient
The descent gradient is the angle of your flight path relative to the horizontal plane. Standard instrument approaches often utilize a 3.0° glide path. Our calculator determines the exact angle required based on your inputs, helping you verify if the descent is steep (non-standard) or shallow.
function calculateDescent() {
// 1. Get Input Values
var currentAlt = parseFloat(document.getElementById('currentAltitude').value);
var targetAlt = parseFloat(document.getElementById('targetAltitude').value);
var distance = parseFloat(document.getElementById('distanceNm').value);
var speed = parseFloat(document.getElementById('groundSpeed').value);
var errorDiv = document.getElementById('error-message');
var resultsDiv = document.getElementById('results-area');
// 2. Validate Inputs
if (isNaN(currentAlt) || isNaN(targetAlt) || isNaN(distance) || isNaN(speed)) {
errorDiv.style.display = 'block';
errorDiv.innerHTML = "Please enter valid numbers in all fields.";
resultsDiv.style.display = 'none';
return;
}
if (currentAlt <= targetAlt) {
errorDiv.style.display = 'block';
errorDiv.innerHTML = "Current Altitude must be higher than Target Altitude.";
resultsDiv.style.display = 'none';
return;
}
if (distance <= 0 || speed 5m 30s)
var mins = Math.floor(timeInMinutes);
var secs = Math.round((timeInMinutes – mins) * 60);
var timeString = mins + "m " + (secs < 10 ? "0" : "") + secs + "s";
document.getElementById('timeResult').innerHTML = timeString;
document.getElementById('angleResult').innerHTML = angleDegrees.toFixed(2) + "°";
document.getElementById('fpnmResult').innerHTML = Math.round(fpnm).toLocaleString() + " ft/nm";
}