This is an estimate. Actual values may vary based on specific redemption rules and official Treasury rates.
Understanding Series EE Savings Bonds and Their Value
Series EE Savings Bonds are a type of U.S. savings bond that accrues interest over time. They are known for their safety, backed by the full faith and credit of the United States government, and their tax advantages. A key feature of Series EE bonds is that they earn a fixed rate of interest for the life of the bond, which is 30 years.
The calculator above provides an estimated current value for a Series EE bond based on its purchase price and issue date.
How the Value is Calculated (Simplified):
Purchase Price: Bonds are sold in denominations of $25, $50, $100, $200, $500, $1,000, $5,000, and $10,000. You pay half of the face value (e.g., $100 face value bond costs $50). Our calculator uses the actual purchase price.
Issue Date: This is crucial as interest rates change periodically. The Treasury Department sets new rates for bonds issued in specific months.
Interest Accrual:
First 6 Months: Bonds earn no interest for the first six months after their issue date.
After 6 Months: Interest begins to accrue.
Rate: For bonds issued from May 2005 to October 2007, the rate was variable, tied to the Treasury's fixed rate. For bonds issued from November 2007 onwards, they earn a fixed rate for 20 years.
Extension: After 20 years, the bond is extended for another 10 years, earning interest at the fixed rate in effect at the end of the original 20-year period.
Maturity: Series EE bonds reach final maturity 30 years after their issue date, at which point they stop earning interest.
Minimum Redemption Value: After one year, you can redeem a Series EE bond. However, if redeemed before five years, you forfeit the last three months of interest. Our calculator does not penalize for early redemption before 5 years, providing a gross estimated value.
Note on Rates: The interest rate applied depends on the issue date. The U.S. Treasury adjusts the rates for new savings bonds semi-annually. For bonds issued before May 1, 2005, rates were variable. Bonds issued between May 2005 and October 2007 had a variable rate based on the Treasury's fixed rate. Bonds issued from November 2007 onwards earn a fixed rate for 20 years, and then are extended for another 10 years at the rate in effect at the end of the original 20-year term. This calculator uses simplified historical rate data for estimation.
Tax Benefits: Interest earned on Series EE bonds is exempt from state and local income taxes. It can also be deferred from federal income taxes until redemption, or until the bond reaches final maturity (30 years), whichever comes first. In some cases, the interest may be tax-free for federal purposes if used for qualified higher education expenses.
function calculateBondValue() {
var purchasePrice = parseFloat(document.getElementById("purchasePrice").value);
var issueDateString = document.getElementById("issueDate").value;
// Input validation
if (isNaN(purchasePrice) || purchasePrice currentDate) {
alert("Issue date cannot be in the future.");
return;
}
// Calculate years and months since issue
var timeDiff = currentDate.getTime() – issueDate.getTime();
var yearsSinceIssue = timeDiff / (1000 * 60 * 60 * 24 * 365.25); // Approximate years
var bondValue = purchasePrice; // Start with purchase price
var monthlyInterestRate = 0;
var annualRate = 0;
// Determine the applicable interest rate based on issue date
// Note: This is a simplified model. Actual Treasury rates are complex and change semi-annually.
// For a precise calculation, one would need a lookup table of all historical rates.
// This function uses common historical rates for demonstration.
var issueYear = issueDate.getFullYear();
if (issueYear = 5) {
annualRate = 0.06; // Example rate after 5 years
}
if (yearsSinceIssue >= 10) {
annualRate = 0.05; // Example rate after 10 years
}
} else if (issueYear >= 1992 && issueYear = 1994 && issueYear = 1995 && issueYear = 1996 && issueYear = 1997 && issueYear = 1998 && issueYear = 1999 && issueYear = 2001 && issueYear = 2003 && issueYear = 2004 && issueYear = 2005 && issueYear = 2007 && issueYear = 2008 && issueYear = 2009 && issueYear = 2010 && issueYear = 2011 && issueYear = 2012 && issueYear = 2013 && issueYear = 2014 && issueYear = 2015 && issueYear = 2016 && issueYear = 2017 && issueYear = 2018 && issueYear = 2019 && issueYear = 2020 && issueYear = 2021 && issueYear = 2022 && issueYear = 2023 && issueYear = twentyYearAnniversary) {
// If past 20 years, the rate is the rate that was in effect at the 20-year mark.
// This requires a more complex lookup. For simplicity here, we will assume
// it continues earning at the initial rate or a fixed extension rate if known.
// A common extension rate for older bonds was fixed. New ones extend at the rate of the 20th year.
// This calculator will continue to use the initial annualRate for simplicity.
// A more accurate calculator would fetch the specific extension rate.
}
}
// Calculation based on years and months
// Bonds earn interest monthly. A simplified approach uses annual compounding for estimation.
// For accuracy, monthly compounding should be used.
// First 6 months: no interest.
var monthsSinceIssue = Math.floor(yearsSinceIssue * 12);
if (monthsSinceIssue > 6) {
// If redeemed before 5 years, forfeit last 3 months of interest
var effectiveMonths = monthsSinceIssue;
if (yearsSinceIssue = twentyYearMark && issueYear >= 2007) {
// Rate at the 20-year mark. This requires a complex lookup.
// For simplicity, we'll use a representative high rate (e.g., 4% or current long-term Treasury rate)
// or continue using the initial fixed rate if precise lookup isn't feasible.
// Let's use the initial fixed rate as a proxy for simplicity.
// A true calculation would need to know the fixed rate applicable at the 20-year anniversary.
rateToUse = annualRate; // Using initial fixed rate as a simplification
// A more advanced calculator would fetch the rate applicable then.
}
monthlyInterestRate = rateToUse / 12;
var calculatedValue = purchasePrice;
for (var i = 0; i = twentyYearGuaranteeDate && purchasePrice < bondValue) {
// The bond is guaranteed to be worth at least its face value after 20 years.
// If calculated value is less than face value, it should be face value.
// Our 'purchasePrice' is 50% of face value. So, face value = purchasePrice * 2.
// However, the guarantee is simply that it will be worth face value.
// This is complex. Let's assume the calculation is usually above face value after 20 yrs.
// A simplified check: if calculated value is less than Purchase Price * 2, use Purchase Price * 2.
if (bondValue < purchasePrice * 2) {
bondValue = purchasePrice * 2;
}
}
// Format the result
var formattedValue = bondValue.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
document.getElementById("result-value").innerText = formattedValue;
document.getElementById("result").style.display = "block";
}