Compound Interest CalculatorWali Khan Kakar — Compound Interest CalculatorCompound Interest Calculator
Download started!
Financial Tool

Compound Interest
Calculator

Model your wealth growth in any currency — see the true power of compounding over time.

Advertisement
Investment Parameters
💰 Investment Details
Years
1 yr25 yrs50 yrs
📈 Growth Parameters
% p.a.
0%15%30%
% p.a.
Results
📊

Fill in your parameters above and click
Calculate Returns to see your projection.

Advertisement
Export Report
Download Your Report
Export your full calculation with year-by-year breakdown in your preferred format
Yearly Breakdown

Year-by-Year Breakdown

Advertisement
Built for WaliKhanKakaro.com  •  For informational purposes only. Not financial advice.
';var blob = new Blob(['\ufeff' + html], { type:'application/msword' }); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = 'Compound-Interest-Report.doc'; a.click(); URL.revokeObjectURL(url); showToast('✅ Word document downloaded!'); };// ── Excel Download ── window.wkkDownloadExcel = function() { if (!wkkData.length) { showToast('Please calculate first!'); return; } var p = getParams(); var final = wkkData[wkkData.length-1]; var interest = final.balance - final.invested; var ret = ((final.balance - final.invested) / final.invested * 100).toFixed(1);var wb = XLSX.utils.book_new();var s1 = [ ['COMPOUND INTEREST REPORT — WaliKhanKakaro.com','','',''], ['Generated:', new Date().toLocaleDateString(),'',''], ['','','',''], ['PARAMETERS','','',''], ['Currency', p.currency+' ('+p.symbol+')', 'Principal', p.principal], ['Monthly Contrib.', p.monthly, 'Period (Years)', p.years], ['Interest Rate (%)', p.rate, 'Compounding', p.frequency], ['Inflation (%)', p.inflation,'',''], ['','','',''], ['RESULTS','','',''], ['Total Future Value', final.balance, 'Total Invested', final.invested], ['Interest Earned', interest, 'Total Return (%)', parseFloat(ret)] ]; var ws1 = XLSX.utils.aoa_to_sheet(s1); ws1['!cols'] = [{wch:24},{wch:22},{wch:24},{wch:22}]; XLSX.utils.book_append_sheet(wb, ws1, 'Summary');var hdr = ['Year','Balance ('+p.symbol+')','Total Invested ('+p.symbol+')','Interest Earned ('+p.symbol+')','Yearly Growth ('+p.symbol+')']; var rows = wkkData.map(function(r){ return [r.year, r.balance, r.invested, r.interest, r.growth]; }); var ws2 = XLSX.utils.aoa_to_sheet([hdr].concat(rows)); ws2['!cols'] = [{wch:8},{wch:22},{wch:22},{wch:22},{wch:18}]; var range = XLSX.utils.decode_range(ws2['!ref']); for (var R = 1; R <= range.e.r; R++) { for (var C = 1; C <= 4; C++) { var cell = ws2[XLSX.utils.encode_cell({r:R, c:C})]; if (cell) { cell.t = 'n'; cell.z = '#,##0.00'; } } } XLSX.utils.book_append_sheet(wb, ws2, 'Year-by-Year');var hdr3 = ['Year','Balance','Invested','Interest']; var rows3 = wkkData.map(function(r){ return [r.year, Math.round(r.balance), Math.round(r.invested), Math.round(r.interest)]; }); var ws3 = XLSX.utils.aoa_to_sheet([hdr3].concat(rows3)); ws3['!cols'] = [{wch:8},{wch:18},{wch:18},{wch:18}]; XLSX.utils.book_append_sheet(wb, ws3, 'Chart Data');XLSX.writeFile(wb, 'Compound-Interest-Report.xlsx'); showToast('✅ Excel file downloaded!'); };// ── Init ── function wkkInit() { // Re-grab elements after DOM is confirmed ready yI = document.getElementById('wkkYears'); yS = document.getElementById('wkkYearsSlider'); rI = document.getElementById('wkkRate'); rS = document.getElementById('wkkRateSlider');if (yI) { yI.addEventListener('input', function(){ yS.value = yI.value; wkkCalculate(); }); } if (yS) { yS.addEventListener('input', function(){ yI.value = yS.value; wkkCalculate(); }); } if (rI) { rI.addEventListener('input', function(){ rS.value = rI.value; wkkCalculate(); }); } if (rS) { rS.addEventListener('input', function(){ rI.value = rS.value; wkkCalculate(); }); }['wkkPrincipal','wkkMonthly','wkkFreq','wkkInflation'].forEach(function(id){ var el = document.getElementById(id); if (el) el.addEventListener('input', wkkCalculate); });wkkCalculate(); }if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', wkkInit); } else { wkkInit(); }})();
Scroll to Top