FINANCE
SIP Calculator
Calculate your SIP returns, total invested amount, and wealth gained over time.
TOTAL VALUE
₹0
—
Total Invested
—
Est. Returns
—
Wealth Multiple
YEAR-BY-YEAR GROWTH
| Year | Invested (₹) | Returns (₹) | Total Value (₹) |
|---|
Developer Reference
Core Algorithm & Standalone Script
Standalone, zero-dependency JavaScript implementation powering this tool. Free to inspect, copy, and build upon.
function fmt(n) { return Math.round(n).toLocaleString('en-IN'); }
function fmtRs(n) { return '₹' + fmt(n); }
function link(iId, sId, fn) {
const i = document.getElementById(iId), s = document.getElementById(sId);
i.addEventListener('input', () => { s.value = i.value; fn(); });
s.addEventListener('input', () => { i.value = s.value; fn(); });
}
link('inp-amount', 'sl-amount', calc);
link('inp-rate', 'sl-rate', calc);
link('inp-years', 'sl-years', calc);
function calc() {
const P = parseFloat(document.getElementById('inp-amount').value);
const annualRate = parseFloat(document.getElementById('inp-rate').value);
const years = parseInt(document.getElementById('inp-years').value);
if (!P || !annualRate || !years) return;
const r = annualRate / 12 / 100;
const n = years * 12;
const fv = P * ((Math.pow(1 + r, n) - 1) / r) * (1 + r);
const invested = P * n;
const returns = fv - invested;
document.getElementById('val-total').textContent = fmtRs(fv);
document.getElementById('val-invested').textContent = fmtRs(invested);
document.getElementById('val-returns').textContent = fmtRs(returns);
document.getElementById('val-multiple').textContent = (fv / invested).toFixed(2) + '×';
let html = '';
for (let y = 1; y <= years; y++) {
const m = y * 12;
const v = P * ((Math.pow(1 + r, m) - 1) / r) * (1 + r);
const inv = P * m;
html += `<tr><td>${y}</td><td>${fmt(inv)}</td><td>${fmt(v - inv)}</td><td>${fmt(v)}</td></tr>`;
}
document.getElementById('growth-body').innerHTML = html;
}
calc();