Federal Loan Interest Rate Calculator
ANA›Life Services Authority›National Calculator Authority›Federal Loan Interest Rate Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Federal Loan Interest Rate Calculator
Calculate your monthly payment, total interest paid, and effective cost for federal student loans based on official U.S. Department of Education interest rates and your loan details.
Loan Type
Direct Subsidized / Unsubsidized (Undergrad) — 3.73% Direct Unsubsidized (Graduate/Professional) — 5.28% Direct PLUS (Grad PLUS / Parent PLUS) — 6.28% Custom / Other Rate
Custom Annual Interest Rate (%)
Loan Principal Amount ($)
Repayment Term (Years)
10 Years (Standard) 12 Years 15 Years (Extended) 20 Years (Income-Driven / Extended) 25 Years (Income-Driven) 30 Years (Extended)
Disbursement / Start Date
Grace Period (Months)
0 Months (PLUS Loans — repayment begins immediately) 6 Months (Standard — Subsidized / Unsubsidized) 9 Months (Perkins Loans)
Is this a Subsidized Loan?
No — Interest accrues during grace period & deferment Yes — Government pays interest during grace period & in-school deferment
Calculate
### Results
Annual Interest Rate Monthly Interest Rate Loan Principal Accrued Interest During Grace Period Capitalized Balance at Repayment Start Monthly Payment Total Amount Paid Total Interest Paid Interest as % of Principal First Payment Date Payoff Date
#### Amortization Schedule (First 12 Months)
# Payment Principal Interest Balance
(function() {
// Set default disbursement date to today var today = new Date(); var yyyy = today.getFullYear(); var mm = String(today.getMonth() + 1).padStart(2, '0'); var dd = String(today.getDate()).padStart(2, '0'); document.getElementById('fed-disbursement').value = yyyy + '-' + mm + '-' + dd;
window.fedUpdateRate = function() { var sel = document.getElementById('fed-loan-type').value; var customField = document.getElementById('fed-custom-rate-field'); customField.style.display = (sel === 'custom') ? 'block' : 'none'; };
function fedShowError(msg) { var el = document.getElementById('fed-error'); el.textContent = msg; el.style.display = 'block'; document.getElementById('fed-result').style.display = 'none'; }
function fedClearError() { document.getElementById('fed-error').style.display = 'none'; }
function fedFmt(n) { return '$' + n.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}); }
function fedFmtPct(n) { return n.toFixed(4) + '%'; }
function fedAddMonths(date, months) { var d = new Date(date); d.setMonth(d.getMonth() + months); return d; }
function fedFmtDate(d) { return d.toLocaleDateString('en-US', {year:'numeric', month:'short', day:'numeric'}); }
window.fedCalc = function() { fedClearError();
// --- Read inputs --- var loanTypeSel = document.getElementById('fed-loan-type').value; var annualRate; if (loanTypeSel === 'custom') { annualRate = parseFloat(document.getElementById('fed-custom-rate').value); if (isNaN(annualRate) || annualRate 30) { fedShowError('Please enter a valid custom annual interest rate between 0.01% and 30%.'); return; } } else { annualRate = parseFloat(loanTypeSel); }
var principal = parseFloat(document.getElementById('fed-principal').value); if (isNaN(principal) || principal 10000000) { fedShowError('Principal amount seems unusually large. Please verify your entry.'); return; }
var termYears = parseInt(document.getElementById('fed-term').value); var gracePeriodMonths = parseInt(document.getElementById('fed-grace').value); var isSubsidized = document.getElementById('fed-subsidized').value === 'yes'; var disbursementVal = document.getElementById('fed-disbursement').value;
var disbursementDate = disbursementVal ? new Date(disbursementVal + 'T00:00:00') : new Date();
// --- Core Calculations ---
// Monthly interest rate: r = annualRate / 100 / 12 var r = annualRate / 100 / 12;
// Daily interest rate (for grace period accrual): r_daily = annualRate / 100 / 365 var rDaily = annualRate / 100 / 365;
// Grace period interest accrual (simple interest, unsubsidized only) // Interest = P * r_daily * days // Approximate: days = gracePeriodMonths * 30.4375 var graceDays = gracePeriodMonths * 30.4375; var graceInterest = 0; if (!isSubsidized && gracePeriodMonths > 0) { // Simple interest during grace period: I = P * (annualRate/100) * (graceDays/365) graceInterest = principal * (annualRate / 100) * (graceDays / 365); }
// Capitalized balance: for unsubsidized, unpaid grace interest capitalizes // For subsidized, government pays grace interest → no capitalization var capitalizedBalance = principal + graceInterest;
// Number of monthly payments var n = termYears * 12;
// Monthly payment formula (standard amortization): // M = P_cap * [r(1+r)^n] / [(1+r)^n - 1] // Special case: if r = 0, M = P_cap / n var monthlyPayment; if (r === 0) { monthlyPayment = capitalizedBalance / n; } else { var onePlusR_n = Math.pow(1 + r, n); monthlyPayment = capitalizedBalance * (r * onePlusR_n) / (onePlusR_n - 1); }
var totalPaid = monthlyPayment * n; var totalInterest = totalPaid - capitalizedBalance; var interestPct = (totalInterest / principal) * 100;
// Dates var repaymentStartDate = fedAddMonths(disbursementDate, gracePeriodMonths); var firstPaymentDate = fedAddMonths(repaymentStartDate, 1); var payoffDate = fedAddMonths(firstPaymentDate, n - 1);
// --- Amortization Schedule (first 12 months) --- var amortRows = ''; var balance = capitalizedBalance; var displayMonths = Math.min(12, n); for (var i = 1; i ' + '' + i + '' + '' + fedFmt(monthlyPayment) + '' + '' + fedFmt(principalPortion) + '' + '' + fedFmt(interestPortion) + '' + '' + fedFmt(balance) + '' + ''; }
// --- Populate outputs --- document.getElementById('fed-out-rate').textContent = annualRate.toFixed(2) + '%'; document.getElementById('fed-out-monthly-rate').textContent = fedFmtPct(r * 100); document.getElementById('fed-out-principal').textContent = fedFmt(principal); document.getElementById('fed-out-grace-interest').textContent = fedFmt(graceInterest) + (isSubsidized ? ' (waived — subsidized)' : ''); document.getElementById('fed-out-capitalized').textContent = fedFmt(capitalizedBalance); document.getElementById('fed-out-payment').textContent = fedFmt(monthlyPayment); document.getElementById('fed-out-total').textContent = fedFmt(totalPaid); document.getElementById('fed-out-interest').textContent = fedFmt(totalInterest); document.getElementById('fed-out-interest-pct').textContent = interestPct.toFixed(2) + '% of original principal'; document.getElementById('fed-out-first-payment').textContent = fedFmtDate(firstPaymentDate); document.getElementById('fed-out-payoff').textContent = fedFmtDate(payoffDate);
document.getElementById('fed-amort-body').innerHTML = amortRows; var noteEl = document.getElementById('fed-amort-note'); if (n > 12) { noteEl.textContent = 'Showing first 12 of ' + n + ' payments. Remaining ' + (n - 12) + ' payments follow the same amortization pattern.'; } else { noteEl.textContent = 'Showing all ' + n + ' payments.'; }
document.getElementById('fed-result').style.display = 'block'; };
})();
#### Formulas Used
Monthly Interest Rate: r = Annual Rate / 100 / 12
Grace Period Interest Accrual (Unsubsidized Loans Only — Simple Interest): Grace Interest = P × (Annual Rate / 100) × (Grace Days / 365) where Grace Days ≈ Grace Months × 30.4375
Capitalized Balance (Unsubsidized): P_cap = Principal + Grace Interest For subsidized loans: P_cap = Principal (government covers grace interest)
Monthly Payment (Standard Amortization Formula): M = P_cap × [r × (1 + r)ⁿ] / [(1 + r)ⁿ − 1] where n = total number of monthly payments (years × 12)
Total Amount Paid: Total = M × n
Total Interest Paid: Total Interest = Total − P_cap
Amortization (each month i): Interest Portion = Balance × r Principal Portion = M − Interest Portion New Balance = Balance − Principal Portion
#### Assumptions & References
- Interest rates shown reflect U.S. Department of Education federal student loan rates for loans first disbursed on or after July 1, 2023: Undergraduate Direct Subsidized/Unsubsidized: 5.50%; Graduate Unsubsidized: 7.05%; PLUS Loans: 8.05%. The preset values in this calculator use illustrative prior-year rates; always verify current rates at studentaid.gov.
- The standard repayment plan for most federal loans is 10 years (120 payments).
- Grace period interest is calculated using simple (non-compounding) daily interest as per federal loan servicing practice.
- For unsubsidized loans, unpaid interest accrued during the grace period is capitalized (added to principal) at repayment start, increasing the balance on which monthly payments are calculated.
- For subsidized loans, the U.S. government pays accrued interest during in-school periods, the grace period, and authorized deferment periods — so no interest capitalizes at repayment start.
- This calculator uses the standard fixed-rate amortization formula. Income-driven repayment (IDR) plans (IBR, PAYE, SAVE, ICR) use different payment calculations based on discretionary income and are not modeled here.
- Reference: 20 U.S.C. § 1077a (Higher Education Act, interest rate provisions); U.S. Department of Education, Federal Student Aid — Interest Rates and Fees.
More Calculators
- Stress Reduction Progress Estimator
- Lost Wages and Future Earnings Calculator
- EV Charging Cost Calculator
- Charging Time Calculator by Charger Level and Battery Size
- Breathing Rate & Pattern Calculator
- Heat Pump vs AC Cost Comparison Calculator
- Austin Climate Load Calculator
- SEER to EER Conversion Calculator
- California Title 24 Compliance Calculator
- Heat Pump Sizing Calculator for California Climate Zones
References
The law belongs to the people. Georgia v. Public.Resource.Org, 590 U.S. (2020)