Student Loan Payoff Calculator

Estimate payoff timeline and interest savings for student loans.

Updated for 2026 Last verified July 2026 Runs locally in your browser

Values update as you edit.

How this calculator works

This tool estimates federal and state withholding, plus FICA, from the inputs you provide. Federal tax uses standard deduction logic and simplified bracket math suitable for quick estimates; exact payroll withholding can differ based on W-4 elections, pretax deductions, and employer payroll rules.

State tax uses public flat or progressive rate structures by state. Local and city taxes are not modeled outside noted exceptions. Always verify with a payroll provider or tax professional for exact amounts.

Sources and references

Privacy: This calculator runs completely in your browser. No wage or tax data is transmitted, stored, or logged. You can use it offline after the page loads.

FAQ

Does this tool store my salary or state?

No. Everything stays in your browser. There is no account, database, or server-side calculation.

Why is my result different from my pay stub?

This estimator uses simplified assumptions. Real payroll may use different withholding formulas, additional pretax deductions, or local taxes.

Can I use this for bonus or extra pay?

Soon. Bonus/supplemental wage mode is on the short list for the next update.

window.calc = function() { const principal = parseFloat(document.querySelector('[data-key="principal"]').value || '0') || 0; const annualRate = parseFloat(document.querySelector('[data-key="annualRate"]').value || '0') || 0; const monthlyPayment = parseFloat(document.querySelector('[data-key="monthlyPayment"]').value || '0') || 0; if (principal <= 0 || annualRate < 0 || monthlyPayment <= 0) return 'Enter valid values.'; const monthlyRate = annualRate / 100 / 12; if (monthlyPayment <= principal * monthlyRate) return 'Payment must exceed monthly interest.'; let balance = principal; let months = 0; let totalInterest = 0; while (balance > 0 && months < 600) { const interest = balance * monthlyRate; const principalPaid = monthlyPayment - interest; balance -= principalPaid; totalInterest += interest; months += 1; } const years = (months / 12).toFixed(1); return 'Payoff in: ' + years + ' years | Total interest: $' + totalInterest.toFixed(2); };