Savings Growth Calculator

See how your savings grow with compound interest over time.

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="amount"]').value || '0') || 0; const rate = parseFloat(document.querySelector('[data-key="rate"]').value || '0') || 0; const years = parseFloat(document.querySelector('[data-key="years"]').value || '0') || 0; const compound = parseInt(document.querySelector('[data-key="compound"]').value || '12') || 1; if (principal < 0 || rate < 0 || years <= 0) return 'Enter valid positive numbers.'; const n = compound; const r = rate / 100 / n; const growth = principal * Math.pow(1 + r, n * years); const interest = growth - principal; return 'Future value: $' + growth.toFixed(2) + ' | Interest earned: $' + interest.toFixed(2); };