Use this tool to estimate the current or future value of your Series EE savings bonds based on their face value, purchase date, and an assumed annual interest rate. Please note that actual rates can vary and official values should be obtained from TreasuryDirect.
The nominal value of the bond (e.g., $100, $500, $1000). Purchase price is typically half of this.
The date your EE bond was originally purchased.
The date you want to estimate the bond's value (e.g., today's date or a future date).
An estimated annual interest rate for calculation. Actual EE bond rates are complex and vary by issue date and holding period. This calculator uses a simplified model.
// Set default dates for convenience
document.addEventListener('DOMContentLoaded', function() {
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
var yyyy = today.getFullYear();
var valuationDateInput = document.getElementById('valuationDate');
valuationDateInput.value = yyyy + '-' + mm + '-' + dd;
var purchaseDateInput = document.getElementById('purchaseDate');
var twentyYearsAgo = new Date(today);
twentyYearsAgo.setFullYear(today.getFullYear() – 20);
var p_dd = String(twentyYearsAgo.getDate()).padStart(2, '0');
var p_mm = String(twentyYearsAgo.getMonth() + 1).padStart(2, '0');
var p_yyyy = twentyYearsAgo.getFullYear();
purchaseDateInput.value = p_yyyy + '-' + p_mm + '-' + p_dd;
});
function calculateBondValue() {
var bondFaceValue = parseFloat(document.getElementById("bondFaceValue").value);
var purchaseDateStr = document.getElementById("purchaseDate").value;
var valuationDateStr = document.getElementById("valuationDate").value;
var assumedAnnualRate = parseFloat(document.getElementById("assumedAnnualRate").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
// Input validation
if (isNaN(bondFaceValue) || bondFaceValue <= 0) {
resultDiv.innerHTML = "Please enter a valid Bond Face Value.";
return;
}
if (!purchaseDateStr || !valuationDateStr) {
resultDiv.innerHTML = "Please enter valid Purchase and Valuation Dates.";
return;
}
if (isNaN(assumedAnnualRate) || assumedAnnualRate < 0) {
resultDiv.innerHTML = "Please enter a valid Assumed Annual Rate (0 or greater).";
return;
}
var purchaseDate = new Date(purchaseDateStr);
var valuationDate = new Date(valuationDateStr);
if (valuationDate < purchaseDate) {
resultDiv.innerHTML = "Valuation Date cannot be before Purchase Date.";
return;
}
var purchasePrice = bondFaceValue / 2;
var annualRateDecimal = assumedAnnualRate / 100;
// Calculate total months held
var yearsDiff = valuationDate.getFullYear() – purchaseDate.getFullYear();
var monthsDiff = valuationDate.getMonth() – purchaseDate.getMonth();
var totalMonthsHeld = yearsDiff * 12 + monthsDiff;
// Adjust if valuation day is before purchase day in the month
if (valuationDate.getDate() = twentyYearsInMonths) {
var guaranteedDoubleValue = purchasePrice * 2;
if (estimatedValue maxHoldingMonths) {
// Recalculate value specifically for 30 years
var thirtyYearsInMonths = 360;
var numCompoundingPeriodsAt30Years = Math.floor(thirtyYearsInMonths / 6);
var valueAt30Years = purchasePrice * Math.pow((1 + semiAnnualRate), numCompoundingPeriodsAt30Years);
// Apply 20-year doubling rule to the 30-year value calculation
if (thirtyYearsInMonths >= twentyYearsInMonths) {
var guaranteedDoubleValueAt30Years = purchasePrice * 2;
if (valueAt30Years < guaranteedDoubleValueAt30Years) {
valueAt30Years = guaranteedDoubleValueAt30Years;
}
}
estimatedValue = valueAt30Years;
}
var totalInterestEarned = estimatedValue – purchasePrice;
// Format holding period
var displayYears = Math.floor(totalMonthsHeld / 12);
var displayMonths = totalMonthsHeld % 12;
var holdingPeriodText = displayYears + " years, " + displayMonths + " months";
resultDiv.innerHTML =
"
Estimated Bond Value
" +
"Bond Face Value: $" + bondFaceValue.toFixed(2) + "" +
"Initial Purchase Price: $" + purchasePrice.toFixed(2) + "" +
"Purchase Date: " + purchaseDate.toLocaleDateString() + "" +
"Valuation Date: " + valuationDate.toLocaleDateString() + "" +
"Total Holding Period: " + holdingPeriodText + "" +
"Estimated Current Value:$" + estimatedValue.toFixed(2) + "" +
"Total Interest Earned: $" + totalInterestEarned.toFixed(2) + "" +
"Note: This is an estimation. Actual EE bond values are determined by TreasuryDirect and can vary based on specific issue rates and holding periods. The 20-year doubling guarantee is applied. Bonds stop earning interest after 30 years.";
}
Understanding EE Savings Bonds
Series EE savings bonds are a popular, low-risk savings product offered by the U.S. Department of the Treasury. They are designed to help individuals save money over the long term, offering a guaranteed return and tax advantages.
How EE Bonds Work
Purchase Price: EE bonds are typically purchased at half their face value. For example, a $100 EE bond costs $50.
Face Value: This is the nominal value the bond can reach.
Interest Accrual: Interest is added to the bond's value monthly and compounded semi-annually. The interest rate is fixed for the first 20 years from the issue date. After 20 years, the rate can change every six months.
20-Year Doubling Guarantee: A key feature of EE bonds is that they are guaranteed to at least double in value if held for 20 years. If the calculated interest doesn't bring the bond to double its purchase price by the 20-year mark, the Treasury makes a one-time adjustment to ensure it does.
Maturity: EE bonds earn interest for a total of 30 years from their issue date. After 30 years, they stop accruing interest.
Tax Advantages: Interest earned on EE bonds is exempt from state and local income taxes. Federal income tax on the interest can be deferred until the bond is cashed or reaches maturity. In some cases, interest used for qualified higher education expenses may be tax-free at the federal level.
Why Use This Calculator?
While the official value of your EE bonds should always be obtained directly from TreasuryDirect.gov, this calculator provides a useful estimation tool. It helps you:
Estimate Future Growth: Project how much your bond might be worth at a future date.
Understand the Doubling Rule: See the impact of the 20-year doubling guarantee on your bond's value.
Plan Your Finances: Get a general idea of your bond's value for financial planning purposes.
It's important to remember that the "Assumed Annual Rate" in this calculator is for estimation. Actual EE bond rates are complex, varying by issue date and subject to change after 20 years. Always consult TreasuryDirect for the precise, up-to-date value of your bonds.
Example Calculation
Let's say you purchased a $100 EE bond (costing $50) on January 1, 2004, and you want to know its value on January 1, 2024, assuming an average annual rate of 0.10%.
Bond Face Value: $100
Purchase Price: $50
Purchase Date: January 1, 2004
Valuation Date: January 1, 2024
Total Holding Period: 20 years
Assumed Annual Rate: 0.10%
Even with a very low assumed annual rate of 0.10%, because the bond has been held for exactly 20 years, the 20-year doubling guarantee applies. Therefore, the estimated value of your bond would be $100.00 (double its $50 purchase price), and the total interest earned would be $50.00.
If you had held the bond for, say, only 10 years, the value would be calculated based on the assumed rate without the doubling guarantee taking effect yet.