Calculate your estimated Required Minimum Distribution (RMD) for your retirement accounts.
Enter the total value of your retirement account(s) on December 31st of the previous year.
This helps determine your age for the RMD calculation.
Age 85
Age 86
Age 87
Age 88
Age 89
Age 90
Age 91
Age 92
Age 93
Age 94
Age 95
Age 96
Age 97
Age 98
Age 99
Age 100
Age 101
Age 102
Age 103
Age 104
Age 105
Age 106
Age 107
Age 108
Age 109
Age 110+
Select your current age if it falls within the table's range. Note: This calculator uses a simplified Uniform Lifetime Table. For official values, consult IRS Publication 590-B.
Required Minimum Distributions (RMDs) are the minimum amounts that owners of certain retirement accounts must withdraw annually starting at a specific age. These distributions are taxable income. The IRS mandates these withdrawals to ensure that individuals eventually pay taxes on their tax-deferred retirement savings.
Who Needs to Take RMDs?
RMDs generally apply to:
Traditional IRAs (Individual Retirement Arrangements)
SEP IRAs
SIMPLE IRAs
401(k)s, 403(b)s, 457(b) plans
Other employer-sponsored retirement plans
Roth IRAs do not have RMDs for the original owner. However, beneficiaries of Roth IRAs (and all inherited IRAs) typically do have RMD requirements.
When Do RMDs Start?
The age at which you must begin taking RMDs is generally 73 if you were born between 1942 and 1959. If you were born in 1960 or later, the starting age is 75. For those born in 1941 or earlier, the age was 72. The SECURE 2.0 Act of 2022 is gradually increasing this age.
How is the RMD Calculated?
The basic formula for calculating your RMD is:
RMD = Account Balance / Life Expectancy Factor
Account Balance: This is the total value of your retirement account as of December 31st of the preceding year.
Life Expectancy Factor: This is a number determined by the IRS based on your age (or the joint ages of you and your beneficiary, in some specific cases). The most common table used is the Uniform Lifetime Table, which is based on the account owner's age. Other tables, like the Joint Life and Last Survivor Expectancy Table, are used if your sole beneficiary is a spouse more than 10 years younger than you.
The Uniform Lifetime Table
The Uniform Lifetime Table provides the distribution period (life expectancy factor) for each age. For example, for age 85, the factor might be 10.6; for age 90, it might be 8.7. You divide your previous year-end account balance by the factor corresponding to your age during the year you are taking the distribution.
Important Considerations & Disclaimers
This calculator is for estimation purposes only. It uses a simplified Uniform Lifetime Table and does not account for all nuances of RMD calculations.
Consult IRS Publication 590-B, "Distributions from Individual Retirement Arrangements (IRAs)," for the official and most up-to-date Uniform Lifetime Tables and rules.
Vanguard is a service provider; this calculator is a tool for understanding the RMD concept and is not affiliated with Vanguard's official RMD calculation services.
Joint Life Expectancy Table: If your sole beneficiary is your spouse and they are more than 10 years younger than you, you may use the Joint Life and Last Survivor Expectancy Table, which will result in a smaller RMD.
Multiple Accounts: If you have multiple Traditional IRAs, you must calculate the RMD for each account separately but can aggregate the total RMDs and withdraw them from any of your Traditional IRA accounts. RMDs for employer-sponsored plans (like 401(k)s) must generally be taken from each plan individually.
Penalties: Failing to take the full RMD can result in a significant penalty, typically 25% of the amount not withdrawn, although this may be reduced to 10% under certain circumstances.
Seek Professional Advice: Always consult with a qualified financial advisor or tax professional for personalized guidance regarding your specific situation.
Example Calculation
Let's say on December 31st of last year, you had a Traditional IRA balance of $600,000. You turned 85 this year. According to the Uniform Lifetime Table (simplified for this example, assume factor is 10.6), your RMD would be:
$600,000 / 10.6 = $56,603.77 (approximately)
This means you must withdraw at least $56,603.77 from your IRA during the current year to satisfy the RMD requirement.
function calculateRMD() {
var accountBalance = parseFloat(document.getElementById("accountBalance").value);
var dobString = document.getElementById("dob").value;
var uniformLifeTableFactor = parseFloat(document.getElementById("uniformLifeTable").value);
var resultDiv = document.getElementById("result");
var resultValue = document.getElementById("result-value");
var resultNote = document.getElementById("result-note");
// Clear previous results and hide
resultValue.innerText = "";
resultNote.innerText = "";
resultDiv.style.display = "none";
if (isNaN(accountBalance) || accountBalance < 0) {
alert("Please enter a valid positive account balance.");
return;
}
if (!dobString) {
alert("Please enter your date of birth.");
return;
}
// Calculate age from DOB
var today = new Date();
var dob = new Date(dobString);
var age = today.getFullYear() – dob.getFullYear();
var monthDiff = today.getMonth() – dob.getMonth();
if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < dob.getDate())) {
age–;
}
// Validate if the selected table age matches calculated age for clarity
var selectedTableAge = parseInt(document.getElementById("uniformLifeTable").value);
if (age < selectedTableAge) {
resultNote.innerText = "Note: The selected Uniform Lifetime Table factor corresponds to age " + selectedTableAge + ". Your calculated age is " + age + ". Ensure you are using the correct factor for your age.";
}
// Use the selected factor directly from the dropdown for the calculation as per the input structure.
// The age calculation is primarily for the note or more complex logic if needed.
if (isNaN(uniformLifeTableFactor) || uniformLifeTableFactor <= 0) {
alert("Please select a valid Uniform Lifetime Table factor.");
return;
}
var rmd = accountBalance / uniformLifeTableFactor;
if (!isNaN(rmd)) {
resultValue.innerText = "$" + rmd.toFixed(2);
resultNote.innerText = "This is an estimated RMD. Consult IRS Publication 590-B for official figures.";
resultDiv.style.display = "block";
} else {
alert("Calculation error. Please check your inputs.");
}
}