Calculate your Composite Rate based on Fixed and Inflation rates.
The permanent rate assigned when the bond is purchased.
The 6-month variable inflation rate announced by Treasury.
Total value of the I Bond.
Annualized Composite Rate:0.00%
Fixed Rate Component:0.00%
Inflation Rate Component (2x Semiannual):0.00%
Estimated 6-Month Earnings:$0.00
*Earnings calculated for a 6-month period based on the computed composite rate. I Bonds cannot be redeemed for 12 months.
Understanding the I Bond Fixed Rate Calculation
Series I Savings Bonds (I Bonds) earn interest based on a Composite Rate, which is a combination of a Fixed Rate and an Inflation Rate. Understanding how these two numbers interact is crucial for investors looking to protect their savings against purchasing power loss.
Unlike standard loans or savings accounts with a single APR, the I Bond yield is derived from a specific Treasury formula that combines a permanent fixed return with a variable inflation adjustment.
The Composite Rate Formula
The actual annualized earnings rate of an I Bond is calculated using the following formula provided by the U.S. Treasury:
Composite Rate = [Fixed Rate + (2 x Semiannual Inflation Rate) + (Fixed Rate x Semiannual Inflation Rate)]
Where:
Fixed Rate: This rate is set when you buy the bond and stays the same for the entire 30-year life of the bond.
Semiannual Inflation Rate: This changes every 6 months (in May and November) based on the Consumer Price Index (CPI-U).
Example Calculation
Let's assume the following scenario:
You purchase an I Bond with a Fixed Rate of 1.30%.
The Treasury announces a Semiannual Inflation Rate of 1.96%.
To find the Composite Rate:
Convert percentages to decimals: Fixed = 0.0130, Inflation = 0.0196.
Convert back to percentage: 5.25% (Treasury rounds to four decimal places).
Why the "Fixed Rate" Matters
Many investors focus solely on the high composite rate during times of high inflation. However, the Fixed Rate is the most critical component for long-term holding. If inflation drops to zero, your bond will still earn the Fixed Rate. If the Fixed Rate is 0.00% (as it has been in past years), your bond will only match inflation but not exceed it in real terms.
How Interest Accrues
While the Composite Rate is expressed as an annual percentage, I Bonds earn interest monthly and compound semiannually. This means the interest earned in the previous six months is added to the principal value of the bond, and future interest calculations are based on this new, higher principal amount.
function calculateIBondRate() {
// 1. Get input values
var fixedRateInput = document.getElementById("fixedRate").value;
var inflationRateInput = document.getElementById("inflationRate").value;
var investmentAmountInput = document.getElementById("investmentAmount").value;
// 2. Validate inputs
if (fixedRateInput === "" || inflationRateInput === "" || investmentAmountInput === "") {
alert("Please enter values for Fixed Rate, Inflation Rate, and Investment Amount.");
return;
}
var fixedRate = parseFloat(fixedRateInput);
var inflationRate = parseFloat(inflationRateInput);
var principal = parseFloat(investmentAmountInput);
if (isNaN(fixedRate) || isNaN(inflationRate) || isNaN(principal)) {
alert("Please enter valid numeric values.");
return;
}
// 3. Calculation Logic
// The formula requires decimal format (e.g., 1.30% = 0.0130)
var fixedDecimal = fixedRate / 100;
var inflationDecimal = inflationRate / 100;
// Composite Rate Formula: Fixed + (2 x Inflation) + (Fixed x Inflation)
var compositeDecimal = fixedDecimal + (2 * inflationDecimal) + (fixedDecimal * inflationDecimal);
// Convert back to percentage for display
var compositePercent = compositeDecimal * 100;
// Treasury typically rounds to 4 decimal places for the rate, but usually displays 2 for general public.
// We will show 2 decimal places for display consistency.
// Calculate the "Inflation Component" for display (2 x Semiannual)
var inflationComponentPercent = (2 * inflationDecimal) * 100;
// Calculate Estimated 6-Month Earnings
// Interest is earned monthly, compounded semiannually.
// For a simple 6-month projection, we apply half the composite rate to the principal.
// Note: Actual Treasury Direct calculation logic is complex regarding rounding per month,
// but this provides a close estimate.
var sixMonthEarnings = principal * (compositeDecimal / 2);
// 4. Update the DOM
document.getElementById("displayFixed").innerHTML = fixedRate.toFixed(2) + "%";
document.getElementById("displayInflationComp").innerHTML = inflationComponentPercent.toFixed(2) + "%";
document.getElementById("displayComposite").innerHTML = compositePercent.toFixed(2) + "%";
// Format currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById("displayEarnings").innerHTML = formatter.format(sixMonthEarnings);
// Show result area
document.getElementById("result-area").style.display = "block";
}