FERS Retirement Income Calculator
Plan your federal retirement with this FERS-specific calculator. Estimate your potential annual income from your FERS Basic Benefit, Thrift Savings Plan (TSP), and Social Security to see if you're on track to meet your desired retirement spending.
.fers-retirement-calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e0e0e0;
border-radius: 10px;
background-color: #f9f9f9;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
color: #333;
}
.fers-retirement-calculator-container h2 {
text-align: center;
color: #2c3e50;
margin-bottom: 20px;
font-size: 1.8em;
}
.fers-retirement-calculator-container p {
text-align: center;
margin-bottom: 25px;
line-height: 1.6;
color: #555;
}
.calculator-form .form-group {
margin-bottom: 18px;
display: flex;
flex-direction: column;
}
.calculator-form label {
margin-bottom: 8px;
font-weight: bold;
color: #444;
font-size: 0.95em;
}
.calculator-form input[type="number"] {
padding: 12px;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 1em;
width: 100%;
box-sizing: border-box;
transition: border-color 0.3s ease;
}
.calculator-form input[type="number"]:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.3);
}
.fers-retirement-calculator-container button {
display: block;
width: 100%;
padding: 14px;
background-color: #28a745;
color: white;
border: none;
border-radius: 6px;
font-size: 1.1em;
font-weight: bold;
cursor: pointer;
margin-top: 25px;
transition: background-color 0.3s ease, transform 0.2s ease;
}
.fers-retirement-calculator-container button:hover {
background-color: #218838;
transform: translateY(-2px);
}
.calculator-result {
margin-top: 30px;
padding: 20px;
border: 1px solid #d4edda;
background-color: #e9f7ef;
border-radius: 8px;
color: #155724;
font-size: 1.1em;
line-height: 1.8;
}
.calculator-result h3 {
color: #155724;
margin-top: 0;
margin-bottom: 15px;
font-size: 1.5em;
text-align: center;
}
.calculator-result p {
margin-bottom: 10px;
text-align: left;
}
.calculator-result strong {
color: #0a3615;
}
.calculator-result .highlight {
font-weight: bold;
color: #0056b3;
}
.calculator-result .gap-positive {
color: #dc3545;
font-weight: bold;
}
.calculator-result .gap-negative {
color: #28a745;
font-weight: bold;
}
function calculateFERSRetirement() {
var currentAge = parseFloat(document.getElementById('currentAge').value);
var retirementAge = parseFloat(document.getElementById('retirementAge').value);
var fersServiceYears = parseFloat(document.getElementById('fersServiceYears').value);
var high3Salary = parseFloat(document.getElementById('high3Salary').value);
var currentTSPBalance = parseFloat(document.getElementById('currentTSPBalance').value);
var employeeTSPContributionRate = parseFloat(document.getElementById('employeeTSPContributionRate').value);
var expectedTSPReturn = parseFloat(document.getElementById('expectedTSPReturn').value);
var estimatedSocialSecurity = parseFloat(document.getElementById('estimatedSocialSecurity').value);
var desiredSpending = parseFloat(document.getElementById('desiredSpending').value);
// Input validation
if (isNaN(currentAge) || isNaN(retirementAge) || isNaN(fersServiceYears) || isNaN(high3Salary) ||
isNaN(currentTSPBalance) || isNaN(employeeTSPContributionRate) || isNaN(expectedTSPReturn) ||
isNaN(estimatedSocialSecurity) || isNaN(desiredSpending) ||
currentAge <= 0 || retirementAge <= 0 || fersServiceYears < 0 || high3Salary <= 0 ||
employeeTSPContributionRate < 0 || expectedTSPReturn < 0 || desiredSpending < 0) {
document.getElementById('fersRetirementResult').innerHTML = 'Please enter valid positive numbers for all fields.';
return;
}
if (retirementAge = 62 && fersServiceYears >= 20) {
fersMultiplier = 0.011; // 1.1%
}
var fersBasicAnnualBenefit = high3Salary * fersServiceYears * fersMultiplier;
// 2. Calculate TSP Projection
var annualEmployeeTSPContribution = high3Salary * (employeeTSPContributionRate / 100);
// FERS agency contribution: 1% automatic + up to 4% matching (if employee contributes 5% or more)
var agencyMatchingRate = Math.min(0.04, employeeTSPContributionRate / 100 – 0.01); // Max 4% match on top of 1% auto
if (agencyMatchingRate = 5) {
annualAgencyTSPContribution = high3Salary * 0.05;
} else {
annualAgencyTSPContribution = high3Salary * 0.01 + high3Salary * (employeeTSPContributionRate / 100 – 0.01);
if (annualAgencyTSPContribution < high3Salary * 0.01) annualAgencyTSPContribution = high3Salary * 0.01; // Minimum 1% auto
}
totalAnnualTSPContribution = annualEmployeeTSPContribution + annualAgencyTSPContribution;
var futureTSPBalance = currentTSPBalance;
var rate = expectedTSPReturn / 100;
if (rate === 0) {
futureTSPBalance += totalAnnualTSPContribution * yearsUntilRetirement;
} else {
// Future value of current balance
futureTSPBalance = currentTSPBalance * Math.pow((1 + rate), yearsUntilRetirement);
// Future value of a series of payments (annuity)
var fvContributions = totalAnnualTSPContribution * ((Math.pow((1 + rate), yearsUntilRetirement) – 1) / rate);
futureTSPBalance += fvContributions;
}
// Assume a 4% safe withdrawal rate for annual TSP income
var annualTSPIncome = futureTSPBalance * 0.04;
// 3. Total Estimated Annual Retirement Income
var totalAnnualRetirementIncome = fersBasicAnnualBenefit + estimatedSocialSecurity + annualTSPIncome;
// 4. Retirement Income Gap/Surplus
var incomeGap = totalAnnualRetirementIncome – desiredSpending;
var resultHTML = '
Your Estimated FERS Retirement Income
';
resultHTML += '
Years Until Retirement: ' + yearsUntilRetirement.toFixed(0) + ' years';
resultHTML += '
Projected FERS Basic Annual Benefit: $' + fersBasicAnnualBenefit.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Estimated Annual Social Security Benefit: $' + estimatedSocialSecurity.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Projected Future TSP Balance: $' + futureTSPBalance.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Projected Annual TSP Income (4% withdrawal): $' + annualTSPIncome.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Total Estimated Annual Retirement Income: $' + totalAnnualRetirementIncome.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Desired Annual Retirement Spending: $' + desiredSpending.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
if (incomeGap >= 0) {
resultHTML += '
Annual Retirement Income Surplus: $' + incomeGap.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Congratulations! Based on your inputs, you are projected to meet or exceed your desired annual retirement spending.';
} else {
resultHTML += '
Annual Retirement Income Shortfall: $' + Math.abs(incomeGap).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ";
resultHTML += '
Based on your inputs, you may have an annual shortfall in retirement. Consider increasing TSP contributions, working longer, or adjusting spending goals.';
}
document.getElementById('fersRetirementResult').innerHTML = resultHTML;
}
Understanding Your FERS Retirement
The Federal Employees Retirement System (FERS) is a three-tiered retirement plan that provides benefits from three different sources:
- FERS Basic Benefit Plan: This is a defined benefit plan, similar to a traditional pension. Your annual benefit is calculated based on your "High-3" average salary (the highest average basic pay earned during any 3 consecutive years of service) and your years of creditable service. The multiplier is typically 1% per year of service, but increases to 1.1% if you retire at age 62 or later with at least 20 years of service.
- Social Security: As a FERS employee, you contribute to and are eligible for Social Security benefits, just like most private-sector workers. The amount you receive depends on your earnings history and the age at which you claim benefits.
- Thrift Savings Plan (TSP): This is a defined contribution plan, similar to a 401(k). You contribute a portion of your salary, and the government provides an automatic 1% contribution plus matching contributions up to an additional 4% (for a total of 5% if you contribute at least 5%). Your TSP balance grows based on your contributions and investment returns.
How This Calculator Helps You Plan
This calculator combines these three pillars to give you a comprehensive estimate of your potential annual retirement income. By adjusting variables like your desired retirement age, TSP contributions, and expected investment returns, you can see how different choices impact your financial future. It helps you:
- Estimate Your FERS Pension: Based on your High-3 salary and years of service.
- Project Your TSP Growth: See how your current balance and future contributions could grow over time.
- Identify Income Gaps: Compare your projected income against your desired spending to determine if you're on track or if adjustments are needed.
Important Considerations
While this calculator provides a valuable estimate, remember that it's a planning tool. Actual results may vary due to:
- Investment Performance: TSP returns are not guaranteed.
- Inflation: The purchasing power of your retirement income may decrease over time.
- Healthcare Costs: These can be significant in retirement and should be factored into your spending plans.
- Taxation: Retirement income is subject to federal and potentially state income taxes.
- Life Expectancy: Planning for a longer retirement means needing more savings.
For personalized advice, always consult with a qualified financial advisor who specializes in federal benefits.