{"id":2119,"date":"2026-06-28T16:40:58","date_gmt":"2026-06-28T21:40:58","guid":{"rendered":"https:\/\/davidcelestin.com\/?page_id=2119"},"modified":"2026-06-29T01:54:02","modified_gmt":"2026-06-29T06:54:02","slug":"sip-calculator","status":"publish","type":"page","link":"https:\/\/davidcelestin.com\/en\/tools\/calculators\/sip-calculator\/","title":{"rendered":"Systematic Investment Plan (SIP) Calculator"},"content":{"rendered":"\n<!-- SIP Calculator by David Celestin Studiolab | davidcelestin.com\/en\/tools\/calculators\/sip-calculator\/ -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebApplication\",\n      \"name\": \"SIP Calculator\",\n      \"description\": \"A free online Systematic Investment Plan (SIP) calculator. Calculates future maturity value, total invested amount, and estimated returns from regular periodic investments. Supports multiple currencies and global markets.\",\n      \"url\": \"https:\/\/davidcelestin.com\/en\/tools\/calculators\/sip-calculator\/\",\n      \"applicationCategory\": \"FinanceApplication\",\n      \"operatingSystem\": \"Any\",\n      \"offers\": { \"@type\": \"Offer\", \"price\": \"0\", \"priceCurrency\": \"USD\" },\n      \"author\": { \"@type\": \"Organization\", \"name\": \"David Celestin Studiolab\", \"url\": \"https:\/\/davidcelestin.com\/en\/studiolab\/\" }\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        { \"@type\": \"Question\", \"name\": \"What is a SIP calculator?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"A SIP calculator estimates the future value of your Systematic Investment Plan contributions using the compound interest formula. Enter your monthly amount, expected annual return, and tenure to see your projected corpus instantly.\" } },\n        { \"@type\": \"Question\", \"name\": \"What formula does a SIP calculator use?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"FV = P \u00d7 [((1+r)\u207f \u2212 1) \/ r] \u00d7 (1+r), where P is your monthly investment, r is the monthly rate of return derived as (1+R)^(1\/12)\u22121 from annual rate R, and n is total monthly instalments.\" } },\n        { \"@type\": \"Question\", \"name\": \"How is SIP taxed in India?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"For equity mutual funds in India (post Budget 2024): STCG at 20% for units held under 12 months; LTCG at 12.5% on gains above \u20b91.25 lakh per year for units held over 12 months. Each SIP instalment has its own holding period, assessed FIFO on redemption.\" } },\n        { \"@type\": \"Question\", \"name\": \"Is SIP better than lump sum investing?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"SIP is generally better for most investors. Through Rupee\/Dollar Cost Averaging, you buy more units when prices are low and fewer when high \u2014 reducing average cost per unit and softening volatility.\" } },\n        { \"@type\": \"Question\", \"name\": \"What is a Step-Up SIP?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"A Step-Up SIP lets you increase your monthly contribution by a fixed percentage every year \u2014 typically aligned with your salary increment. This significantly boosts your final corpus by investing more as your income grows.\" } }\n      ]\n    }\n  ]\n}\n<\/script>\n\n<style>\n#sip-root {\n  --sp: #7000F4;\n  --sp-lt: #f0e6ff;\n  --sp-dk: #5500c0;\n  --sbk: #000;\n  --smb: #111;\n  --sg7: #333;\n  --sg5: #666;\n  --sg3: #595959;\n  --sg1: #f7f7f7;\n  --sw: #fff;\n  --sgr: #0a8c4e;\n  --sgrl: #e6f7f0;\n  --srd: #cc2200;\n  --srdl: #fff0ed;\n  --sbr: #e2e2e2;\n  --srad: 14px;\n  --srads: 8px;\n  --sshd: 0 4px 24px rgba(0,0,0,.07);\n  --sfnt: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  --smono: \"SF Mono\",\"Fira Code\",\"Courier New\",monospace;\n  font-family: var(--sfnt);\n  color: var(--sg7);\n  font-size: 16px;\n  line-height: 1.6;\n  -webkit-font-smoothing: antialiased;\n  box-sizing: border-box;\n}\n#sip-root *, #sip-root *::before, #sip-root *::after { box-sizing: border-box; }\n\n#sip-root .sw { width:100%; max-width:900px; margin:0 auto; padding:20px 16px 60px; }\n\n\/* Hero *\/\n#sip-root .sh { text-align:center; padding:4px 0 24px; }\n#sip-root .seb {\n  display:inline-flex; align-items:center; gap:6px;\n  background:var(--sp-lt); color:var(--sp);\n  font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;\n  padding:5px 14px; border-radius:100px; margin-bottom:14px;\n}\n#sip-root .sh1 {\n  font-size:clamp(22px,4.5vw,36px); font-weight:800; color:var(--sbk);\n  line-height:1.2; letter-spacing:-.025em; margin:0 0 12px;\n}\n#sip-root .sh1 em { color:var(--sp); font-style:normal; }\n#sip-root .shd { font-size:15px; color:var(--sg5); max-width:560px; margin:0 auto; line-height:1.7; }\n\n\/* Card *\/\n#sip-root .sc {\n  background:var(--sw); border:1px solid var(--sbr);\n  border-radius:var(--srad); box-shadow:var(--sshd); margin-bottom:8px;\n}\n\n\/* ---- TABS \u2014 grid-based, no overflow-scroll ---- *\/\n#sip-root .stabs {\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  background:var(--sg1);\n  border-bottom:2px solid var(--sbr);\n  border-radius:var(--srad) var(--srad) 0 0;\n}\n#sip-root .stab {\n  \/* div acting as tab \u2014 no <button> to avoid WP theme hijacking *\/\n  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:3px;\n  background:none;\n  border:none;\n  border-bottom:3px solid transparent;\n  margin-bottom:-2px;\n  cursor:pointer;\n  font-family:var(--sfnt);\n  font-size:13px; font-weight:600;\n  color:var(--sg5);\n  padding:13px 10px;\n  text-align:center;\n  user-select:none;\n  -webkit-user-select:none;\n  transition:color .15s,border-color .15s,background .15s;\n  min-height:44px;\n  -webkit-tap-highlight-color:transparent;\n  touch-action:manipulation;\n}\n#sip-root .stab:hover { color:var(--sp); background:rgba(112,0,244,.04); }\n#sip-root .stab.sa {\n  color:var(--sp); background:var(--sw);\n  border-bottom-color:var(--sp); font-weight:700;\n}\n@media (max-width:500px) {\n  #sip-root .stab { font-size:11px; padding:10px 6px; }\n}\n\n\/* Currency bar *\/\n#sip-root .scb {\n  display:flex; align-items:center; gap:8px;\n  padding:10px 18px; border-bottom:1px solid var(--sbr);\n  background:var(--sw); flex-wrap:wrap;\n}\n#sip-root .scbl { font-size:11px; font-weight:700; color:var(--sg3); letter-spacing:.05em; text-transform:uppercase; flex-shrink:0; }\n#sip-root .scbc { display:flex; gap:5px; flex-wrap:wrap; flex:1; }\n#sip-root .scchip {\n  background:var(--sg1); border:1.5px solid var(--sbr); border-radius:100px;\n  font-family:var(--sfnt); font-size:12px; font-weight:600; color:var(--sg5);\n  padding:5px 12px; cursor:pointer; white-space:nowrap;\n  user-select:none; -webkit-user-select:none;\n  transition:border-color .14s,color .14s,background .14s;\n  min-height:36px; display:inline-flex; align-items:center;\n  -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n}\n#sip-root .scchip:hover { border-color:var(--sp); color:var(--sp); }\n#sip-root .scchip.sa { background:var(--sp); border-color:var(--sp); color:var(--sw); }\n#sip-root .sco { display:flex; align-items:center; gap:5px; }\n#sip-root .sco label { font-size:11px; color:var(--sg3); white-space:nowrap; }\n#sip-root .sco select {\n  font-family:var(--sfnt); font-size:12px; font-weight:600; color:var(--sg7);\n  background:var(--sw); border:1.5px solid var(--sbr); border-radius:6px;\n  padding:5px 6px; cursor:pointer; outline:none;\n}\n\n\/* Panels *\/\n#sip-root .spanel { padding:22px 18px 18px; display:none; }\n#sip-root .spanel.sa { display:block; }\n\n\/* Input grid *\/\n#sip-root .sgrid { display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:20px; }\n@media (min-width:560px) {\n  #sip-root .sgrid { grid-template-columns:1fr 1fr; }\n  #sip-root .sgrid .ssp2 { grid-column:1\/-1; }\n}\n#sip-root .sfield { display:flex; flex-direction:column; gap:5px; }\n#sip-root .sfield label { font-size:11px; font-weight:700; color:var(--sg7); letter-spacing:.04em; text-transform:uppercase; }\n#sip-root .shint { font-size:11px; color:var(--sg3); font-weight:400; text-transform:none; letter-spacing:0; margin-top:2px; }\n\n#sip-root .siw { position:relative; display:flex; align-items:center; }\n#sip-root .spre, #sip-root .ssuf {\n  position:absolute; font-size:14px; font-weight:700;\n  color:var(--sg5); pointer-events:none; z-index:1; line-height:1;\n}\n#sip-root .spre { left:12px; }\n#sip-root .ssuf { right:12px; }\n\n#sip-root .siw input[type=\"number\"] {\n  width:100%; border:1.5px solid var(--sbr); border-radius:var(--srads);\n  font-family:var(--sfnt); font-size:16px; font-weight:700; color:var(--sbk);\n  background:var(--sw); padding:11px 38px 11px 34px;\n  -webkit-appearance:textfield; -moz-appearance:textfield; appearance:textfield;\n  outline:none; transition:border-color .18s,box-shadow .18s;\n}\n#sip-root .siw input[type=\"number\"]::-webkit-outer-spin-button,\n#sip-root .siw input[type=\"number\"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }\n#sip-root .siw input[type=\"number\"]:focus { border-color:var(--sp); box-shadow:0 0 0 3px rgba(112,0,244,.1); }\n#sip-root .siw input[type=\"number\"].serr { border-color:var(--srd); }\n#sip-root .sferr { font-size:11px; color:var(--srd); display:none; margin-top:2px; }\n#sip-root .sferr.sv { display:block; }\n\n\/* Sliders *\/\n#sip-root .sslrow { display:flex; align-items:center; margin-top:7px; }\n#sip-root .ssl {\n  flex:1; -webkit-appearance:none; appearance:none;\n  height:4px; border-radius:2px; cursor:pointer; outline:none;\n  border:none; padding:0; margin:0; background:var(--sbr);\n}\n#sip-root .ssl::-webkit-slider-thumb {\n  -webkit-appearance:none; width:22px; height:22px; border-radius:50%;\n  background:var(--sp); cursor:pointer; border:none;\n  box-shadow:0 1px 6px rgba(112,0,244,.35); transition:transform .12s;\n}\n#sip-root .ssl::-webkit-slider-thumb:hover { transform:scale(1.15); }\n#sip-root .ssl::-moz-range-thumb {\n  width:22px; height:22px; border-radius:50%; background:var(--sp);\n  cursor:pointer; border:none; box-shadow:0 1px 6px rgba(112,0,244,.35);\n}\n#sip-root .smm { display:flex; justify-content:space-between; font-size:10px; color:var(--sg3); margin-top:3px; }\n\n\/* Benchmark chips *\/\n#sip-root .sbrow { display:flex; gap:5px; flex-wrap:wrap; margin-top:7px; }\n#sip-root .sbch {\n  background:var(--sg1); border:1px solid var(--sbr); border-radius:100px;\n  font-family:var(--sfnt); font-size:10px; font-weight:600; color:var(--sg5);\n  padding:4px 10px; cursor:pointer; white-space:nowrap;\n  user-select:none; -webkit-user-select:none;\n  -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n  transition:border-color .14s,color .14s,background .14s;\n}\n#sip-root .sbch:hover { border-color:var(--sp); color:var(--sp); }\n#sip-root .sbch.sa { background:var(--sp-lt); border-color:var(--sp); color:var(--sp); }\n\n\/* Primary button *\/\n#sip-root .sbprim {\n  display:flex; align-items:center; justify-content:center; gap:8px;\n  width:100%; background:var(--sp); color:var(--sw);\n  font-family:var(--sfnt); font-size:15px; font-weight:700;\n  border:none; border-radius:var(--srads); padding:14px 24px;\n  cursor:pointer; transition:background .18s,transform .1s;\n  min-height:48px;\n  -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n  user-select:none; -webkit-user-select:none;\n}\n#sip-root .sbprim:hover { background:var(--sp-dk); }\n#sip-root .sbprim:active { transform:scale(.98); }\n\n\/* Outline button *\/\n#sip-root .sbout {\n  display:inline-flex; align-items:center; justify-content:center; gap:6px;\n  background:transparent; color:var(--sp); font-family:var(--sfnt);\n  font-size:13px; font-weight:600; border:1.5px solid var(--sp);\n  border-radius:var(--srads); padding:9px 16px; cursor:pointer; white-space:nowrap;\n  transition:background .15s; min-height:40px;\n  -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n}\n#sip-root .sbout:hover { background:var(--sp-lt); }\n\n\/* Results *\/\n#sip-root .sres { will-change:opacity,transform;\n  padding:0 18px 22px; visibility:hidden; opacity:0;\n  transform:translateY(8px); height:0; overflow:hidden;\n  transition:opacity .28s ease,transform .28s ease;\n}\n#sip-root .sres.sv {\n  visibility:visible; opacity:1; transform:translateY(0);\n  height:auto; overflow:visible;\n}\n#sip-root .srh {\n  background:linear-gradient(135deg,#7000F4 0%,#9933ff 100%);\n  border-radius:var(--srads); color:var(--sw);\n  padding:20px 18px; margin-bottom:14px; text-align:center;\n}\n#sip-root .srl { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; opacity:.75; margin-bottom:5px; }\n#sip-root .sra { font-size:clamp(26px,5.5vw,42px); font-weight:800; letter-spacing:-.025em; line-height:1.1; margin-bottom:4px; word-break:break-all; }\n#sip-root .srs { font-size:12px; opacity:.72; }\n\n#sip-root .sstats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }\n#sip-root .sstat { background:var(--sg1); border-radius:var(--srads); padding:12px 14px; border-left:3px solid var(--sbr); }\n#sip-root .sstat.si { border-left-color:var(--sp); }\n#sip-root .sstat.sr { border-left-color:var(--sgr); }\n#sip-root .sstl { font-size:10px; font-weight:700; color:var(--sg3); text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; }\n#sip-root .sstv { font-size:17px; font-weight:800; color:var(--sbk); letter-spacing:-.01em; word-break:break-all; }\n#sip-root .sstat.sr .sstv { color:var(--sgr); }\n#sip-root .ssts { font-size:10px; color:var(--sg3); margin-top:2px; }\n\n\/* Chart *\/\n#sip-root .sviz {\n  display:flex; align-items:center; gap:20px; margin-bottom:14px;\n  flex-wrap:wrap; justify-content:center;\n}\n@media (min-width:480px) { #sip-root .sviz { flex-wrap:nowrap; justify-content:flex-start; } }\n#sip-root .sdw { position:relative; flex-shrink:0; width:140px; height:140px; }\n#sip-root .sdw svg { width:100%; height:100%; display:block; }\n#sip-root .sdc {\n  position:absolute; top:50%; left:50%;\n  transform:translate(-50%,-50%); text-align:center; pointer-events:none;\n}\n#sip-root .sdp { font-size:20px; font-weight:800; color:var(--sbk); line-height:1; }\n#sip-root .sdl { font-size:9px; color:var(--sg3); text-transform:uppercase; letter-spacing:.05em; }\n#sip-root .slg { display:flex; flex-direction:column; gap:10px; }\n#sip-root .slgr { display:flex; align-items:center; gap:10px; }\n#sip-root .slgd { width:11px; height:11px; border-radius:50%; flex-shrink:0; }\n#sip-root .slgd.si { background:var(--sp); }\n#sip-root .slgd.sr { background:var(--sgr); }\n#sip-root .slgl { font-size:12px; color:var(--sg5); }\n#sip-root .slgv { font-size:14px; font-weight:800; color:var(--sbk); word-break:break-all; }\n\n\/* Actions *\/\n#sip-root .sact { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }\n@media (max-width:400px) { #sip-root .sact { flex-direction:column; } #sip-root .sbout { width:100%; } }\n\n\/* Table toggle *\/\n#sip-root .stog {\n  width:100%; background:var(--sg1); border:1px solid var(--sbr);\n  border-radius:var(--srads); padding:11px 14px;\n  font-family:var(--sfnt); font-size:13px; font-weight:600; color:var(--sp);\n  cursor:pointer; display:flex; align-items:center; justify-content:space-between;\n  transition:background .15s; min-height:44px;\n  -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n}\n#sip-root .stog:hover { background:var(--sp-lt); }\n#sip-root .stoga { transition:transform .25s; display:inline-flex; }\n#sip-root .stog.so .stoga { transform:rotate(180deg); }\n\n#sip-root .stwrap { max-height:0; overflow:hidden; transition:max-height .38s ease; }\n#sip-root .stwrap.so { max-height:2000px; }\n#sip-root .stscr { overflow-x:auto; -webkit-overflow-scrolling:touch; }\n#sip-root .stbl { width:100%; border-collapse:collapse; font-size:12px; margin-top:8px; min-width:380px; }\n#sip-root .stbl th { background:var(--sp); color:var(--sw); font-weight:600; padding:8px 10px; text-align:right; white-space:nowrap; font-size:11px; }\n#sip-root .stbl th:first-child { text-align:left; }\n#sip-root .stbl td { padding:8px 10px; text-align:right; border-bottom:1px solid var(--sbr); color:var(--sg7); white-space:nowrap; font-variant-numeric:tabular-nums; }\n#sip-root .stbl td:first-child { text-align:left; font-weight:700; color:var(--sbk); }\n#sip-root .stbl tr:nth-child(even) td { background:var(--sg1); }\n#sip-root .stbl .scorp { color:var(--sp); font-weight:700; }\n\n#sip-root .sdisc { background:var(--sg1); border:1px solid var(--sbr); border-radius:var(--srads); padding:11px 14px; font-size:11px; color:var(--sg3); line-height:1.65; margin-top:14px; }\n#sip-root .sdisc strong { color:var(--sg5); }\n\n\/* Content *\/\n#sip-root .ssec { padding:40px 0 0; content-visibility:auto; contain-intrinsic-size:0 600px; }\n#sip-root .sebs { font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--sp); margin-bottom:8px; display:block; }\n#sip-root .sh2 { font-size:clamp(18px,3vw,26px); font-weight:800; color:var(--sbk); letter-spacing:-.02em; margin:0 0 14px; line-height:1.25; border:none; }\n#sip-root .sprose { font-size:14px; color:var(--sg5); line-height:1.8; }\n#sip-root .sprose p { margin:0 0 12px; }\n#sip-root .sprose p:last-child { margin-bottom:0; }\n#sip-root .sprose strong { color:var(--sg7); }\n#sip-root .sprose a { color:var(--sp); text-decoration:none; }\n#sip-root .sprose a:hover { text-decoration:underline; }\n\n\/* Steps *\/\n#sip-root .ssteps { margin-top:18px; display:flex; flex-direction:column; gap:14px; }\n#sip-root .sstep { display:flex; gap:12px; align-items:flex-start; }\n#sip-root .ssn { flex-shrink:0; width:28px; height:28px; background:var(--sp); color:var(--sw); font-size:12px; font-weight:800; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-top:2px; }\n#sip-root .sst { font-size:14px; font-weight:700; color:var(--sbk); margin-bottom:3px; }\n#sip-root .ssd { font-size:13px; color:var(--sg5); line-height:1.65; }\n\n\/* Formula *\/\n#sip-root .sform { background:var(--smb); border-radius:var(--srads); padding:16px 18px; margin:14px 0; overflow-x:auto; }\n#sip-root .sform code { font-family:var(--smono); font-size:13px; color:#a78bfa; display:block; line-height:2; white-space:pre; }\n#sip-root .sfleg { margin-top:10px; display:flex; flex-direction:column; gap:3px; }\n#sip-root .sflr { font-size:12px; color:var(--sg5); }\n#sip-root .sflr b { font-family:var(--smono); color:var(--sp); font-size:12px; }\n\n\/* Tax table *\/\n#sip-root .sdtw { overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:14px; }\n#sip-root .sdt { width:100%; border-collapse:collapse; font-size:13px; border:1px solid var(--sbr); min-width:440px; }\n#sip-root .sdt th { background:var(--sp); color:var(--sw); padding:9px 12px; text-align:left; font-size:11px; font-weight:700; white-space:nowrap; }\n#sip-root .sdt td { padding:9px 12px; border-bottom:1px solid var(--sbr); color:var(--sg7); line-height:1.5; }\n#sip-root .sdt tr:last-child td { border-bottom:none; }\n#sip-root .sdt tr:nth-child(even) td { background:var(--sg1); }\n#sip-root .sbdg { display:inline-block; font-size:11px; font-weight:700; padding:2px 8px; border-radius:4px; }\n#sip-root .sbdg.sg { background:var(--sgrl); color:#065f35; }\n#sip-root .sbdg.sr { background:var(--srdl); color:var(--srd); }\n#sip-root .sbdg.sn { background:var(--sg1); color:var(--sg5); border:1px solid var(--sbr); }\n\n\/* Tax cards *\/\n#sip-root .staxg { display:grid; grid-template-columns:1fr; gap:10px; margin-top:16px; }\n@media (min-width:480px) { #sip-root .staxg { grid-template-columns:1fr 1fr; } }\n#sip-root .staxc { background:var(--sg1); border:1px solid var(--sbr); border-radius:var(--srads); padding:14px; }\n#sip-root .staxch { font-size:13px; font-weight:700; color:var(--sbk); margin-bottom:6px; }\n#sip-root .staxcb { font-size:12px; color:var(--sg5); line-height:1.65; }\n#sip-root .staxcb strong { color:var(--sg7); }\n\n\/* FAQ *\/\n#sip-root .sfaq { margin-top:18px; }\n#sip-root .sfaqi { border-bottom:1px solid var(--sbr); }\n#sip-root .sfaqi:first-child { border-top:1px solid var(--sbr); }\n#sip-root .sfaqb {\n  width:100%; background:none; border:none; text-align:left;\n  font-family:var(--sfnt); font-size:14px; font-weight:600; color:var(--sbk);\n  padding:16px 0; cursor:pointer; display:flex; align-items:flex-start;\n  justify-content:space-between; gap:10px; line-height:1.4;\n  min-height:44px; -webkit-tap-highlight-color:transparent; touch-action:manipulation;\n}\n#sip-root .sfaqic {\n  flex-shrink:0; width:22px; height:22px; border-radius:50%;\n  border:1.5px solid var(--sp); display:flex; align-items:center;\n  justify-content:center; color:var(--sp); font-size:16px; line-height:1;\n  transition:background .15s; margin-top:1px; font-weight:300;\n}\n#sip-root .sfaqi.so .sfaqic { background:var(--sp); color:var(--sw); }\n#sip-root .sfaqa { max-height:0; overflow:hidden; transition:max-height .3s ease; }\n#sip-root .sfaqi.so .sfaqa { max-height:500px; }\n#sip-root .sfaqa p { font-size:13px; color:var(--sg5); line-height:1.78; padding-bottom:16px; margin:0; }\n\n\/* Related *\/\n#sip-root .srg { display:grid; grid-template-columns:1fr; gap:10px; margin-top:16px; }\n@media (min-width:500px) { #sip-root .srg { grid-template-columns:1fr 1fr; } }\n#sip-root .src {\n  display:flex; align-items:flex-start; gap:10px;\n  background:var(--sg1); border:1px solid var(--sbr);\n  border-radius:var(--srads); padding:13px 14px;\n  text-decoration:none; color:inherit;\n  transition:border-color .15s,box-shadow .15s;\n}\n#sip-root .src:hover { border-color:var(--sp); box-shadow:0 2px 10px rgba(112,0,244,.09); }\n#sip-root .srci { flex-shrink:0; width:34px; height:34px; background:var(--sp-lt); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--sp); }\n#sip-root .srcn { font-size:12px; font-weight:700; color:var(--sbk); margin-bottom:2px; }\n#sip-root .srcd { font-size:11px; color:#595959; line-height:1.5; }\n\n\/* Footer *\/\n#sip-root .sftr { margin-top:44px; padding-top:22px; border-top:1px solid var(--sbr); text-align:center; font-size:12px; color:var(--sg3); line-height:1.7; }\n#sip-root .sftr a { color:var(--sp); text-decoration:none; }\n#sip-root .sftr a:hover { text-decoration:underline; }\n#sip-root .sftrb { font-weight:700; color:var(--sg7); margin-bottom:4px; font-size:13px; }\n\n\/* Toast *\/\n#sip-toast2 {\n  position:fixed; bottom:20px; left:50%;\n  transform:translateX(-50%) translateY(60px);\n  background:#111; color:#fff; font-family:var(--sfnt);\n  font-size:13px; font-weight:600; padding:9px 20px;\n  border-radius:100px; opacity:0;\n  transition:transform .28s ease,opacity .28s ease;\n  pointer-events:none; z-index:999999; white-space:nowrap;\n}\n#sip-toast2.sv { transform:translateX(-50%) translateY(0); opacity:1; }\n\n@media (max-width:420px) {\n  #sip-root .sstats { grid-template-columns:1fr; }\n  #sip-root .sw { padding:14px 12px 48px; }\n  #sip-root .spanel { padding:16px 12px 14px; }\n  #sip-root .sres { will-change:opacity,transform; padding:0 12px 16px; }\n}\n@media (prefers-reduced-motion:reduce) {\n  #sip-root *, #sip-root *::before, #sip-root *::after, #sip-toast2 {\n    transition-duration:0ms !important; animation-duration:0ms !important;\n  }\n}\n<\/style>\n\n<div id=\"sip-root\">\n<div class=\"sw\">\n\n  <!-- Hero -->\n  <div class=\"sh\">\n    <div class=\"seb\" aria-hidden=\"true\">\n      <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"currentColor\"><circle cx=\"4\" cy=\"4\" r=\"4\"\/><\/svg>\n      Free Tool \u00b7 India &amp; Global\n    <\/div>\n    <div class=\"sh1\" role=\"heading\" aria-level=\"1\"><em>SIP Calculator<\/em> \u2014 Estimate Your Investment Returns<\/div>\n    <p class=\"shd\">Enter your monthly contribution, expected return, and tenure \u2014 get your projected corpus instantly. Works for mutual funds, index funds, ETFs, and any regular investment plan worldwide.<\/p>\n  <\/div>\n\n  <!-- Calculator card -->\n  <div class=\"sc\" role=\"region\" aria-label=\"SIP Calculator\">\n\n    <!-- TABS \u2014 using div with role=tab to avoid WP button hijacking -->\n    <div class=\"stabs\" role=\"tablist\" aria-label=\"Calculator mode\" id=\"sip-tablist\">\n      <div class=\"stab sa\" role=\"tab\" tabindex=\"0\" aria-selected=\"true\"  data-tab=\"standard\" data-panel=\"sip-p-standard\">Standard SIP<\/div>\n      <div class=\"stab\"    role=\"tab\" tabindex=\"0\" aria-selected=\"false\" data-tab=\"stepup\"   data-panel=\"sip-p-stepup\">Step-Up SIP<\/div>\n      <div class=\"stab\"    role=\"tab\" tabindex=\"0\" aria-selected=\"false\" data-tab=\"goal\"     data-panel=\"sip-p-goal\">Goal Planner<\/div>\n    <\/div>\n\n    <!-- Currency bar \u2014 divs with role=button -->\n    <div class=\"scb\" role=\"group\" aria-label=\"Select currency\">\n      <span class=\"scbl\">Currency<\/span>\n      <div class=\"scbc\" id=\"sip-cur-chips\">\n        <div class=\"scchip sa\" role=\"button\" tabindex=\"0\" data-cur=\"INR\" data-sym=\"\u20b9\"   data-loc=\"en-IN\" aria-pressed=\"true\">\u20b9 INR<\/div>\n        <div class=\"scchip\"    role=\"button\" tabindex=\"0\" data-cur=\"USD\" data-sym=\"$\"   data-loc=\"en-US\" aria-pressed=\"false\">$ USD<\/div>\n        <div class=\"scchip\"    role=\"button\" tabindex=\"0\" data-cur=\"EUR\" data-sym=\"\u20ac\"   data-loc=\"de-DE\" aria-pressed=\"false\">\u20ac EUR<\/div>\n        <div class=\"scchip\"    role=\"button\" tabindex=\"0\" data-cur=\"GBP\" data-sym=\"\u00a3\"   data-loc=\"en-GB\" aria-pressed=\"false\">\u00a3 GBP<\/div>\n        <div class=\"scchip\"    role=\"button\" tabindex=\"0\" data-cur=\"AED\" data-sym=\"AED\" data-loc=\"en-AE\" aria-pressed=\"false\">AED<\/div>\n        <div class=\"scchip\"    role=\"button\" tabindex=\"0\" data-cur=\"SGD\" data-sym=\"S$\"  data-loc=\"en-SG\" aria-pressed=\"false\">S$ SGD<\/div>\n      <\/div>\n      <div class=\"sco\">\n        <label for=\"sip-cur-sel\">Other:<\/label>\n        <select id=\"sip-cur-sel\">\n          <option value=\"\">\u2014<\/option>\n          <option value=\"JPY|\u00a5|ja-JP\">\u00a5 JPY<\/option>\n          <option value=\"AUD|A$|en-AU\">A$ AUD<\/option>\n          <option value=\"CAD|C$|en-CA\">C$ CAD<\/option>\n          <option value=\"CHF|CHF|de-CH\">CHF<\/option>\n          <option value=\"ZAR|R|en-ZA\">R ZAR<\/option>\n          <option value=\"BDT|\u09f3|bn-BD\">\u09f3 BDT<\/option>\n          <option value=\"PKR|\u20a8|ur-PK\">\u20a8 PKR<\/option>\n          <option value=\"MYR|RM|ms-MY\">RM MYR<\/option>\n          <option value=\"NGN|\u20a6|en-NG\">\u20a6 NGN<\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n\n    <!-- PANEL: Standard SIP -->\n    <div id=\"sip-p-standard\" class=\"spanel sa\" role=\"tabpanel\">\n      <div class=\"sgrid\">\n        <div class=\"sfield\">\n          <label for=\"sip-s-amt\">Monthly Investment (<span id=\"sip-s-sym\">\u20b9<\/span>)<\/label>\n          <div class=\"siw\">\n            <span class=\"spre\" id=\"sip-s-pre\">\u20b9<\/span>\n            <input type=\"number\" id=\"sip-s-amt\" value=\"5000\" min=\"1\" max=\"999999999\" step=\"100\">\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-s-amt\" class=\"ssl\" min=\"500\" max=\"100000\" step=\"500\" value=\"5000\" aria-label=\"Monthly investment amount slider\"><\/div>\n          <div class=\"smm\"><span>500<\/span><span id=\"sip-sl-s-max\">1,00,000<\/span><\/div>\n          <span class=\"sferr\" id=\"sip-err-s-amt\">Please enter a valid positive amount.<\/span>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-s-yrs\">Duration (Years)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-s-yrs\" value=\"10\" min=\"1\" max=\"50\" step=\"1\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">Yrs<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-s-yrs\" class=\"ssl\" min=\"1\" max=\"50\" step=\"1\" value=\"10\" aria-label=\"Investment duration slider\"><\/div>\n          <div class=\"smm\"><span>1 Yr<\/span><span>50 Yrs<\/span><\/div>\n          <span class=\"sferr\" id=\"sip-err-s-yrs\">Please enter 1\u201350 years.<\/span>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-s-ret\">Expected Annual Return (%)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-s-ret\" value=\"12\" min=\"0.1\" max=\"50\" step=\"0.5\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">%<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-s-ret\" class=\"ssl\" min=\"1\" max=\"30\" step=\"0.5\" value=\"12\" aria-label=\"Expected annual return slider\"><\/div>\n          <div class=\"smm\"><span>1%<\/span><span>30%<\/span><\/div>\n          <div class=\"sbrow\" id=\"sip-bench-s\"><\/div>\n          <span class=\"sferr\" id=\"sip-err-s-ret\">Please enter 0.1\u201350%.<\/span>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-s-lump\">One-time Lump Sum <span style=\"font-weight:400;text-transform:none;letter-spacing:0;font-size:10px;color:#555\">(Optional)<\/span><\/label>\n          <div class=\"siw\">\n            <span class=\"spre\" id=\"sip-lump-pre\">\u20b9<\/span>\n            <input type=\"number\" id=\"sip-s-lump\" value=\"\" min=\"0\" max=\"999999999\" step=\"1000\" placeholder=\"0\">\n          <\/div>\n          <span class=\"shint\">Any initial one-time investment alongside your SIP<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"sbprim\" role=\"button\" tabindex=\"0\" id=\"sip-btn-std\" aria-label=\"Calculate Returns\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><rect x=\"2\" y=\"2\" width=\"5\" height=\"5\" rx=\"1\" fill=\"currentColor\" opacity=\".6\"\/><rect x=\"9\" y=\"2\" width=\"5\" height=\"5\" rx=\"1\" fill=\"currentColor\"\/><rect x=\"2\" y=\"9\" width=\"5\" height=\"5\" rx=\"1\" fill=\"currentColor\"\/><rect x=\"9\" y=\"9\" width=\"5\" height=\"5\" rx=\"1\" fill=\"currentColor\" opacity=\".6\"\/><\/svg>\n        Calculate Returns\n      <\/div>\n    <\/div>\n\n    <!-- PANEL: Step-Up SIP -->\n    <div id=\"sip-p-stepup\" class=\"spanel\" role=\"tabpanel\">\n      <div class=\"sgrid\">\n        <div class=\"sfield\">\n          <label for=\"sip-u-amt\">Starting Monthly SIP<\/label>\n          <div class=\"siw\">\n            <span class=\"spre\" id=\"sip-u-pre\">\u20b9<\/span>\n            <input type=\"number\" id=\"sip-u-amt\" value=\"5000\" min=\"1\" max=\"999999999\" step=\"100\">\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-u-amt\" class=\"ssl\" min=\"500\" max=\"100000\" step=\"500\" value=\"5000\" aria-label=\"Starting monthly SIP slider\"><\/div>\n          <div class=\"smm\"><span>500<\/span><span>1,00,000<\/span><\/div>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-u-step\">Annual Step-Up (%)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-u-step\" value=\"10\" min=\"1\" max=\"50\" step=\"1\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">%<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-u-step\" class=\"ssl\" min=\"1\" max=\"50\" step=\"1\" value=\"10\" aria-label=\"Annual step-up percentage slider\"><\/div>\n          <div class=\"smm\"><span>1%<\/span><span>50%<\/span><\/div>\n          <span class=\"shint\">How much your monthly SIP increases each year<\/span>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-u-yrs\">Duration (Years)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-u-yrs\" value=\"10\" min=\"1\" max=\"50\" step=\"1\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">Yrs<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-u-yrs\" class=\"ssl\" min=\"1\" max=\"50\" step=\"1\" value=\"10\" aria-label=\"Investment duration slider\"><\/div>\n          <div class=\"smm\"><span>1 Yr<\/span><span>50 Yrs<\/span><\/div>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-u-ret\">Expected Annual Return (%)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-u-ret\" value=\"12\" min=\"0.1\" max=\"50\" step=\"0.5\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">%<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-u-ret\" class=\"ssl\" min=\"1\" max=\"30\" step=\"0.5\" value=\"12\" aria-label=\"Expected annual return slider\"><\/div>\n          <div class=\"smm\"><span>1%<\/span><span>30%<\/span><\/div>\n          <div class=\"sbrow\" id=\"sip-bench-u\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"sbprim\" role=\"button\" tabindex=\"0\" id=\"sip-btn-stepup\" aria-label=\"Calculate Step-Up Returns\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><path d=\"M2 12L5.5 8l3 3L14 4\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n        Calculate Step-Up Returns\n      <\/div>\n    <\/div>\n\n    <!-- PANEL: Goal Planner -->\n    <div id=\"sip-p-goal\" class=\"spanel\" role=\"tabpanel\">\n      <div class=\"sgrid\">\n        <div class=\"sfield ssp2\">\n          <label for=\"sip-g-tgt\">Target Corpus (Amount You Want to Build)<\/label>\n          <div class=\"siw\">\n            <span class=\"spre\" id=\"sip-g-pre\">\u20b9<\/span>\n            <input type=\"number\" id=\"sip-g-tgt\" value=\"1000000\" min=\"1000\" max=\"999999999999\" step=\"10000\">\n          <\/div>\n          <span class=\"shint\" id=\"sip-g-hint\">How much do you want to accumulate? (e.g. \u20b910,00,000 = \u20b910 Lakh)<\/span>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-g-yrs\">Time Available (Years)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-g-yrs\" value=\"10\" min=\"1\" max=\"50\" step=\"1\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">Yrs<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-g-yrs\" class=\"ssl\" min=\"1\" max=\"50\" step=\"1\" value=\"10\" aria-label=\"Time available slider\"><\/div>\n          <div class=\"smm\"><span>1 Yr<\/span><span>50 Yrs<\/span><\/div>\n        <\/div>\n        <div class=\"sfield\">\n          <label for=\"sip-g-ret\">Expected Annual Return (%)<\/label>\n          <div class=\"siw\">\n            <input type=\"number\" id=\"sip-g-ret\" value=\"12\" min=\"0.1\" max=\"50\" step=\"0.5\" style=\"padding-left:14px\">\n            <span class=\"ssuf\">%<\/span>\n          <\/div>\n          <div class=\"sslrow\"><input type=\"range\" id=\"sip-sl-g-ret\" class=\"ssl\" min=\"1\" max=\"30\" step=\"0.5\" value=\"12\" aria-label=\"Expected annual return slider\"><\/div>\n          <div class=\"smm\"><span>1%<\/span><span>30%<\/span><\/div>\n          <div class=\"sbrow\" id=\"sip-bench-g\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"sbprim\" role=\"button\" tabindex=\"0\" id=\"sip-btn-goal\" aria-label=\"Find Required Monthly SIP\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M8 5v3l2 2\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg>\n        Find My Required Monthly SIP\n      <\/div>\n    <\/div>\n\n    <!-- RESULTS -->\n    <div id=\"sip-results\" class=\"sres\" aria-live=\"polite\" aria-atomic=\"true\">\n      <div class=\"srh\">\n        <div class=\"srl\" id=\"sip-res-lbl\">Total Corpus at Maturity<\/div>\n        <div class=\"sra\" id=\"sip-res-amt\">\u2014<\/div>\n        <div class=\"srs\" id=\"sip-res-sub\"><\/div>\n      <\/div>\n      <div class=\"sstats\">\n        <div class=\"sstat si\">\n          <div class=\"sstl\">Amount Invested<\/div>\n          <div class=\"sstv\" id=\"sip-st-inv\">\u2014<\/div>\n          <div class=\"ssts\" id=\"sip-st-invsub\"><\/div>\n        <\/div>\n        <div class=\"sstat sr\">\n          <div class=\"sstl\">Estimated Returns<\/div>\n          <div class=\"sstv\" id=\"sip-st-ret\">\u2014<\/div>\n          <div class=\"ssts\" id=\"sip-st-retpct\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"sviz\">\n        <div class=\"sdw\">\n          <svg id=\"sip-donut\" viewBox=\"0 0 140 140\" width=\"140\" height=\"140\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\"><\/svg>\n          <div class=\"sdc\">\n            <div class=\"sdp\" id=\"sip-dpct\">0%<\/div>\n            <div class=\"sdl\">Returns<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"slg\">\n          <div class=\"slgr\"><span class=\"slgd si\"><\/span><div><div class=\"slgl\">Amount Invested<\/div><div class=\"slgv\" id=\"sip-lg-inv\">\u2014<\/div><\/div><\/div>\n          <div class=\"slgr\"><span class=\"slgd sr\"><\/span><div><div class=\"slgl\">Estimated Returns<\/div><div class=\"slgv\" id=\"sip-lg-ret\">\u2014<\/div><\/div><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"sact\">\n        <div class=\"sbout\" role=\"button\" tabindex=\"0\" id=\"sip-btn-copy\">\n          <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"8\" height=\"8\" rx=\"1.2\" stroke=\"currentColor\" stroke-width=\"1.4\"\/><path d=\"M2 9V2h7\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><\/svg>\n          Copy Result\n        <\/div>\n        <div class=\"sbout\" role=\"button\" tabindex=\"0\" id=\"sip-btn-reset\">\n          <svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" fill=\"none\" aria-hidden=\"true\"><path d=\"M2 6A4 4 0 1 0 5.5 2.3\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/><path d=\"M2 2v4h4\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          Reset\n        <\/div>\n      <\/div>\n      <div class=\"stog\" role=\"button\" tabindex=\"0\" id=\"sip-tbl-tog\">\n        <span>View Year-by-Year Growth<\/span>\n        <span class=\"stoga\" aria-hidden=\"true\">\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"><path d=\"M3 5l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg>\n        <\/span>\n      <\/div>\n      <div class=\"stwrap\" id=\"sip-tbl-wrap\">\n        <div class=\"stscr\">\n          <table class=\"stbl\" aria-label=\"Year by year SIP growth\">\n            <thead><tr><th>Year<\/th><th id=\"sip-th-sip\">Monthly SIP<\/th><th>Invested<\/th><th>Returns<\/th><th>Corpus<\/th><\/tr><\/thead>\n            <tbody id=\"sip-tbody\"><\/tbody>\n          <\/table>\n        <\/div>\n      <\/div>\n      <p class=\"sdisc\"><strong>Disclaimer:<\/strong> This tool provides <strong>estimates only<\/strong> and does not constitute financial, investment, legal, or tax advice. Actual returns depend on market conditions, fund performance, fees, and currency fluctuations. Consult a qualified financial advisor before investing.<\/p>\n    <\/div>\n  <\/div><!-- \/sc -->\n\n  <!-- HOW TO USE -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">Getting Started<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">How to Use This SIP Calculator<\/div>\n    <div class=\"ssteps\">\n      <div class=\"sstep\"><div class=\"ssn\">1<\/div><div><div class=\"sst\">Choose your mode<\/div><div class=\"ssd\"><strong>Standard SIP<\/strong> \u2014 fixed monthly amount. <strong>Step-Up SIP<\/strong> \u2014 your contribution increases annually. <strong>Goal Planner<\/strong> \u2014 enter a target corpus and find out how much to invest monthly.<\/div><\/div><\/div>\n      <div class=\"sstep\"><div class=\"ssn\">2<\/div><div><div class=\"sst\">Select your currency<\/div><div class=\"ssd\">Pick your local currency from the bar at the top. Supports INR, USD, EUR, GBP, AED, SGD, and more.<\/div><\/div><\/div>\n      <div class=\"sstep\"><div class=\"ssn\">3<\/div><div><div class=\"sst\">Enter your monthly amount and duration<\/div><div class=\"ssd\">Type your planned monthly investment and how many years you intend to stay invested. Use the sliders to explore scenarios quickly.<\/div><\/div><\/div>\n      <div class=\"sstep\"><div class=\"ssn\">4<\/div><div><div class=\"sst\">Set an expected annual return<\/div><div class=\"ssd\">Use the benchmark chips below the return field. These are historical references \u2014 not guarantees. Always plan with a conservative figure.<\/div><\/div><\/div>\n      <div class=\"sstep\"><div class=\"ssn\">5<\/div><div><div class=\"sst\">Read your results<\/div><div class=\"ssd\">The result panel shows your total corpus, invested amount, and estimated returns. Expand <strong>Year-by-Year Growth<\/strong> to see compounding in action.<\/div><\/div><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- FORMULA -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">The Math Behind It<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">SIP Formula \u2014 How the Calculator Works<\/div>\n    <div class=\"sprose\"><p>This calculator uses the <strong>future value of an annuity due<\/strong> \u2014 the same formula used by SEBI-registered platforms in India and equivalent financial tools worldwide.<\/p><\/div>\n    <div class=\"sform\">\n      <code>FV = P \u00d7 [((1 + r)\u207f \u2212 1) \/ r] \u00d7 (1 + r)<\/code>\n      <code><\/code>\n      <code>where:  r = (1 + R)^(1\/12) \u2212 1<\/code>\n    <\/div>\n    <div class=\"sfleg\">\n      <div class=\"sflr\"><b>FV<\/b> = Future Value \u2014 your total corpus at maturity<\/div>\n      <div class=\"sflr\"><b>P<\/b> = Your monthly SIP contribution<\/div>\n      <div class=\"sflr\"><b>r<\/b> = Monthly rate of return \u2014 compound-derived from annual rate R<\/div>\n      <div class=\"sflr\"><b>n<\/b> = Total monthly instalments (years \u00d7 12)<\/div>\n      <div class=\"sflr\"><b>R<\/b> = Expected annual rate of return (e.g. 12% = 0.12)<\/div>\n    <\/div>\n    <div class=\"sprose\" style=\"margin-top:14px\"><p><strong>Why not divide the annual rate by 12?<\/strong> Using 12% \u00f7 12 = 1%\/month is incorrect because returns compound. The correct monthly rate for 12% p.a. is (1.12)^(1\/12) \u2212 1 \u2248 0.9489%. This calculator uses the accurate compound conversion.<\/p><\/div>\n  <\/div>\n\n  <!-- INDIA TAX -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">India \u2014 Priority Market<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">How SIP Returns Are Taxed in India (FY 2025\u201326)<\/div>\n    <div class=\"sprose\"><p>After <strong>Budget 2024<\/strong> (effective 23 July 2024), capital gains tax on equity mutual fund SIPs changed significantly:<\/p><\/div>\n    <div class=\"sdtw\">\n      <table class=\"sdt\" aria-label=\"India SIP tax rates\">\n        <thead><tr><th>Holding Period<\/th><th>Gain Type<\/th><th>Tax Rate<\/th><th>Notes<\/th><\/tr><\/thead>\n        <tbody>\n          <tr><td><strong>\u2264 12 months<\/strong><\/td><td>STCG<\/td><td><span class=\"sbdg sr\">20%<\/span> + 4% cess<\/td><td>Section 111A. Per instalment.<\/td><\/tr>\n          <tr><td><strong>&gt; 12 months<\/strong><\/td><td>LTCG<\/td><td><span class=\"sbdg sg\">12.5%<\/span> + 4% cess<\/td><td>Section 112A. First \u20b91.25L\/yr tax-free.<\/td><\/tr>\n          <tr><td>Any<\/td><td>Debt funds (post 1 Apr 2023)<\/td><td><span class=\"sbdg sn\">Slab rate<\/span><\/td><td>No LTCG benefit regardless of tenure.<\/td><\/tr>\n          <tr><td>Min. 3 yrs\/instalment<\/td><td>ELSS<\/td><td><span class=\"sbdg sg\">12.5% LTCG<\/span><\/td><td>80C deduction up to \u20b91.5L (Old Regime only).<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <div class=\"sprose\" style=\"margin-top:14px\"><p><strong>Key rule most investors miss:<\/strong> every monthly instalment has its own holding period. On redemption, units are processed <strong>FIFO<\/strong> \u2014 one redemption can produce both STCG and LTCG.<\/p><\/div>\n  <\/div>\n\n  <!-- GLOBAL TAX -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">Global Context<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">SIP \/ DCA Investing \u2014 Key Facts for Global Investors<\/div>\n    <div class=\"sprose\"><p>SIP is an Indian term for what global investors call <strong>Dollar-Cost Averaging (DCA)<\/strong>. The principle is identical: invest a fixed amount at regular intervals and let compounding do the work.<\/p><\/div>\n    <div class=\"staxg\">\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\uddee\ud83c\uddf3 India<\/div><div class=\"staxcb\">Equity funds: <strong>LTCG 12.5%<\/strong> (&gt;12 months, above \u20b91.25L\/yr). <strong>STCG 20%<\/strong> (\u226412 months). Debt funds: slab rate. ELSS: 80C up to \u20b91.5L (Old Regime). Historical equity benchmark: 10\u201314% p.a.<\/div><\/div>\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\uddfa\ud83c\uddf8 United States<\/div><div class=\"staxcb\">LTCG (&gt;1 year): <strong>0%, 15%, or 20%<\/strong> by income. Short-term: ordinary income rates. 401k, IRA, Roth IRA can shelter gains. S&amp;P 500 historical: ~10% p.a.<\/div><\/div>\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\uddec\ud83c\udde7 United Kingdom<\/div><div class=\"staxcb\">CGT: <strong>18% \/ 24%<\/strong> after \u00a33,000 annual allowance (FY 2024\u201325). ISAs shelter up to \u00a320,000\/year. FTSE All-Share historical: ~7\u20138% p.a.<\/div><\/div>\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\uddea\ud83c\uddfa Europe (varies)<\/div><div class=\"staxcb\">Germany: <strong>25% Abgeltungsteuer<\/strong>. France: <strong>30% PFU flat tax<\/strong>. Netherlands: wealth tax. Tax wrappers available. Broad European equity: ~7\u20139% p.a.<\/div><\/div>\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\udde6\ud83c\uddea UAE \/ Middle East<\/div><div class=\"staxcb\">Currently <strong>no personal income tax or CGT<\/strong> in the UAE. May still owe tax in your home country. Variable regional market returns.<\/div><\/div>\n      <div class=\"staxc\"><div class=\"staxch\">\ud83c\uddf8\ud83c\uddec Singapore<\/div><div class=\"staxcb\"><strong>No capital gains tax<\/strong>. Singapore-listed dividends exempt. CPF supplements retirement. Historical STI: ~6\u20138% p.a.<\/div><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- FAQ -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">Frequently Asked Questions<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">SIP Calculator \u2014 Common Questions Answered<\/div>\n    <div class=\"sfaq\" id=\"sip-faq\">\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">What is a SIP calculator and how does it work?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>A SIP calculator estimates the future value of your regular periodic investments using compound interest. Enter your monthly investment, years, and expected annual return. The calculator compounds each monthly contribution to the end of your tenure and sums them all to show your projected corpus. Actual returns vary based on market performance and fund charges.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">What formula does this calculator use?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p><strong>FV = P \u00d7 [((1+r)\u207f \u2212 1) \/ r] \u00d7 (1+r)<\/strong>, where r = (1+R)^(1\/12)\u22121. The (1+r) multiplier treats each payment as invested at the start of the month (annuity due), which is the standard approach used by mutual fund platforms globally.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">Is SIP better than a lump sum investment?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>SIP is generally better for most investors because it removes the need to time the market. Through Rupee\/Dollar Cost Averaging, your fixed monthly amount buys more units when prices are low and fewer when high \u2014 naturally reducing your average cost per unit. Lump sum can outperform if you invest at a market bottom, but timing that correctly is extremely difficult.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">How is SIP taxed in India?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>For equity funds (post Budget 2024): units held over 12 months \u2014 LTCG at <strong>12.5%<\/strong> on gains above \u20b91.25 lakh\/year. Units held 12 months or less \u2014 STCG at <strong>20%<\/strong>. A 4% cess applies on top. Each monthly SIP instalment has its own holding period \u2014 one redemption can produce both STCG and LTCG on a FIFO basis.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">What expected return rate should I use?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>Use the benchmark chips as a guide. India large-cap \/ Nifty index funds: historically 10\u201312% p.a. Mid-cap \/ flexi-cap: 12\u201315%. US S&amp;P 500: ~10% p.a. UK equities: ~7\u20138%. Debt\/bond funds globally: 3\u20137%. Always use a conservative estimate \u2014 past returns do not guarantee future performance.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">What is a Step-Up SIP?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>A Step-Up SIP increases your monthly contribution by a fixed percentage each year \u2014 typically 5\u201315%, aligned with your salary increment. Starting at \u20b95,000\/month and stepping up 10% annually grows to \u20b95,500 in Year 2, \u20b96,050 in Year 3, etc. Over a full tenure, a Step-Up SIP typically builds a corpus 30\u201360% larger than a flat SIP at the same starting amount.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">Does starting earlier really make a big difference?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>Yes \u2014 dramatically. \u20b95,000\/month at 12% for 30 years builds ~\u20b91.76 crore. The same SIP for 20 years builds only ~\u20b950 lakh \u2014 less than a third of the wealth from two-thirds as long. The extra 10 years of early compounding account for the entire difference. The best time to start is now.<\/p><\/div><\/div>\n      <div class=\"sfaqi\"><div class=\"sfaqb\" role=\"button\" tabindex=\"0\">Can I stop or pause a SIP anytime?<span class=\"sfaqic\">+<\/span><\/div><div class=\"sfaqa\"><p>Yes \u2014 most SIPs can be paused or stopped without a penalty fee, except ELSS (mandatory 3-year lock-in per instalment). In India, submit a cancellation request 7\u201310 business days before the next SIP date. Units already accumulated remain invested and can be redeemed separately.<\/p><\/div><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- RELATED -->\n  <div class=\"ssec\">\n    <span class=\"sebs\">More from David Celestin<\/span>\n    <div class=\"sh2\" role=\"heading\" aria-level=\"2\">Related Tools &amp; Resources<\/div>\n    <div class=\"srg\">\n      <a href=\"https:\/\/davidcelestin.com\/en\/tools\/calculators\/\" class=\"src\"><div class=\"srci\"><svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><rect x=\"2\" y=\"2\" width=\"12\" height=\"12\" rx=\"1.5\"\/><path d=\"M5 6h6M5 9h4\"\/><\/svg><\/div><div><div class=\"srcn\">All Free Calculators<\/div><div class=\"srcd\">Browse every calculator on davidcelestin.com.<\/div><\/div><\/a>\n      <a href=\"https:\/\/davidcelestin.com\/en\/studiolab\/\" class=\"src\"><div class=\"srci\"><svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><path d=\"M2 12L5 8l3 3 5-7\"\/><\/svg><\/div><div><div class=\"srcn\">David Celestin Studiolab<\/div><div class=\"srcd\">Consulting, growth, and business expansion services.<\/div><\/div><\/a>\n      <a href=\"https:\/\/davidcelestin.com\/en\/newsletters\/\" class=\"src\"><div class=\"srci\"><svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><rect x=\"2\" y=\"4\" width=\"12\" height=\"9\" rx=\"1.2\"\/><path d=\"M2 7l6 3.5L14 7\"\/><\/svg><\/div><div><div class=\"srcn\">Newsletter<\/div><div class=\"srcd\">Finance, business, and entrepreneurship insights.<\/div><\/div><\/a>\n      <a href=\"https:\/\/davidcelestin.com\/en\/articles-categories\/\" class=\"src\"><div class=\"srci\"><svg viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"><path d=\"M3 4h10M3 8h7M3 12h5\"\/><\/svg><\/div><div><div class=\"srcn\">Articles &amp; Guides<\/div><div class=\"srcd\">Practical guides on business and finance.<\/div><\/div><\/a>\n    <\/div>\n  <\/div>\n\n  <!-- FOOTER -->\n  <div class=\"sftr\">\n    <div class=\"sftrb\">David Celestin Studiolab<\/div>\n    <p><a href=\"https:\/\/davidcelestin.com\/en\/\">DAVIDCELESTIN.COM<\/a> \u00b7 <a href=\"https:\/\/davidcelestin.com\/en\/studiolab\/\">Studiolab<\/a> \u00b7 <a href=\"https:\/\/davidcelestin.com\/en\/contact\/\">Contact<\/a><\/p>\n    <p style=\"margin-top:8px;font-size:10px;color:#767676\">\u00a9 <span id=\"sip-yr\">2026<\/span> DAVIDCELESTIN.COM. All rights reserved. For informational purposes only.<\/p>\n  <\/div>\n\n<\/div><!-- \/sw -->\n<\/div><!-- \/sip-root -->\n\n<div id=\"sip-toast2\" role=\"status\" aria-live=\"polite\"><\/div>\n\n<script>\n(function(){\n'use strict';\n\n\/* Wait for DOM *\/\nfunction init(){\n  var root = document.getElementById('sip-root');\n  if(!root) return;\n\n  \/* ---- STATE ---- *\/\n  var CUR = {sym:'\u20b9', code:'INR', loc:'en-IN'};\n  var curTab = 'standard';\n  var lastRes = null;\n  var toastTmr = null;\n\n  \/* ---- BENCHMARKS ---- *\/\n  var BENCH = {\n    INR:[{l:'Debt\/FD 6%',v:6},{l:'Large-cap 11%',v:11},{l:'Nifty 50 12%',v:12},{l:'Mid-cap 14%',v:14}],\n    USD:[{l:'Bonds 4%',v:4},{l:'S&P 500 10%',v:10},{l:'Growth 12%',v:12}],\n    EUR:[{l:'Bonds 3%',v:3},{l:'Euro equity 7%',v:7},{l:'Global ETF 9%',v:9}],\n    GBP:[{l:'Gilts 4%',v:4},{l:'FTSE All-Share 8%',v:8},{l:'Global 10%',v:10}],\n    AED:[{l:'Deposits 4%',v:4},{l:'Global ETF 9%',v:9},{l:'Equities 11%',v:11}],\n    SGD:[{l:'CPF OA 2.5%',v:2.5},{l:'STI 7%',v:7},{l:'Global 9%',v:9}],\n    _:[{l:'Conservative 5%',v:5},{l:'Moderate 8%',v:8},{l:'Aggressive 12%',v:12}]\n  };\n  function getBench(){ return BENCH[CUR.code]||BENCH['_']; }\n\n  \/* ---- FORMATTING ---- *\/\n  function fmtIN(n){\n    var s=String(Math.round(Math.abs(n)));\n    if(s.length<=3)return s;\n    var l3=s.slice(-3), rest=s.slice(0,-3), out='';\n    while(rest.length>2){out=','+rest.slice(-2)+out;rest=rest.slice(0,-2);}\n    return rest+out+','+l3;\n  }\n  function fmt(n){\n    if(n===null||n===undefined||isNaN(n))return CUR.sym+'0';\n    n=Math.round(n);\n    if(CUR.code==='INR')return CUR.sym+fmtIN(n);\n    try{\n      var s=new Intl.NumberFormat(CUR.loc,{minimumFractionDigits:0,maximumFractionDigits:0}).format(Math.abs(n));\n      s=s.replace(\/^[^\\d]+|[^\\d]+$\/g,'').trim();\n      return CUR.sym+s;\n    }catch(e){return CUR.sym+Math.abs(n).toLocaleString();}\n  }\n  function fmtShort(n){\n    if(CUR.code==='INR'){\n      if(n>=1e7)return CUR.sym+(n\/1e7).toFixed(2)+' Cr';\n      if(n>=1e5)return CUR.sym+(n\/1e5).toFixed(2)+' L';\n      if(n>=1e3)return CUR.sym+(n\/1e3).toFixed(1)+'K';\n      return fmt(n);\n    }\n    if(n>=1e9)return CUR.sym+(n\/1e9).toFixed(2)+'B';\n    if(n>=1e6)return CUR.sym+(n\/1e6).toFixed(2)+'M';\n    if(n>=1e3)return CUR.sym+(n\/1e3).toFixed(1)+'K';\n    return fmt(n);\n  }\n\n  \/* ---- SLIDER BG ---- *\/\n  function slBg(sl){\n    var mn=parseFloat(sl.min)||0, mx=parseFloat(sl.max)||100, v=parseFloat(sl.value)||0;\n    var p=Math.min(100,Math.max(0,((v-mn)\/(mx-mn))*100));\n    sl.style.background='linear-gradient(to right,#7000F4 0%,#7000F4 '+p+'%,#e2e2e2 '+p+'%,#e2e2e2 100%)';\n  }\n  function syncSl(iid,sid){var i=document.getElementById(iid),s=document.getElementById(sid);if(!i||!s)return;var v=parseFloat(i.value);if(!isNaN(v)){s.value=Math.min(Math.max(v,parseFloat(s.min)),parseFloat(s.max));slBg(s);}}\n  function syncIn(sid,iid){var s=document.getElementById(sid),i=document.getElementById(iid);if(!s||!i)return;i.value=s.value;}\n\n  \/* ---- VALIDATION ---- *\/\n  function gv(id,eid,mn,mx){\n    var el=document.getElementById(id), err=eid?document.getElementById(eid):null;\n    if(!el)return null;\n    var v=parseFloat(el.value), ok=!isNaN(v)&&v>=mn&&v<=mx;\n    el.classList.toggle('serr',!ok);\n    if(err)err.classList.toggle('sv',!ok);\n    return ok?v:null;\n  }\n\n  \/* ---- MATH ---- *\/\n  function mr(R){return Math.pow(1+R\/100,1\/12)-1;}\n\n  \/* ---- CALCULATIONS ---- *\/\n  function calcStd(scroll){\n    var P=gv('sip-s-amt','sip-err-s-amt',1,999999999);\n    var Y=gv('sip-s-yrs','sip-err-s-yrs',1,50);\n    var R=gv('sip-s-ret','sip-err-s-ret',0.1,50);\n    if(P===null||Y===null||R===null)return;\n    var le=document.getElementById('sip-s-lump'), L=le?(parseFloat(le.value)||0):0;\n    if(L<0)L=0;\n    var n=Y*12, r=mr(R);\n    var sipFV=P*((Math.pow(1+r,n)-1)\/r)*(1+r);\n    var lFV=L*Math.pow(1+r,n);\n    var total=sipFV+lFV, inv=P*n+L;\n    var rows=[];\n    for(var y=1;y<=Y;y++){var nn=y*12;var yFV=P*((Math.pow(1+r,nn)-1)\/r)*(1+r)+L*Math.pow(1+r,nn);var yI=P*nn+L;rows.push({year:y,sip:P,inv:yI,ret:Math.max(0,yFV-yI),corp:yFV});}\n    showRes({mode:'standard',total:total,invested:inv,tenure:Y,rate:R,inst:n,rows:rows});\n    if(scroll)scrollRes();\n  }\n  function calcStep(scroll){\n    var P0=gv('sip-u-amt',null,1,999999999);\n    var st=gv('sip-u-step',null,1,50);\n    var Y=gv('sip-u-yrs',null,1,50);\n    var R=gv('sip-u-ret',null,0.1,50);\n    if(P0===null||st===null||Y===null||R===null)return;\n    var r=mr(R), corp=0, inv=0, P=P0, rows=[];\n    for(var y=1;y<=Y;y++){\n      if(y>1)P=P*(1+st\/100);\n      corp=corp*Math.pow(1+r,12);\n      corp+=P*((Math.pow(1+r,12)-1)\/r)*(1+r);\n      inv+=P*12;\n      rows.push({year:y,sip:P,inv:inv,ret:Math.max(0,corp-inv),corp:corp});\n    }\n    showRes({mode:'stepup',total:corp,invested:inv,tenure:Y,rate:R,inst:Y*12,rows:rows});\n    if(scroll)scrollRes();\n  }\n  function calcGoal(scroll){\n    var FV=gv('sip-g-tgt',null,1000,999999999999);\n    var Y=gv('sip-g-yrs',null,1,50);\n    var R=gv('sip-g-ret',null,0.1,50);\n    if(FV===null||Y===null||R===null)return;\n    var n=Y*12, r=mr(R);\n    var P=FV*r\/((Math.pow(1+r,n)-1)*(1+r));\n    var inv=P*n, rows=[];\n    for(var y=1;y<=Y;y++){var nn=y*12;var yFV=P*((Math.pow(1+r,nn)-1)\/r)*(1+r);rows.push({year:y,sip:P,inv:P*nn,ret:Math.max(0,yFV-P*nn),corp:yFV});}\n    showRes({mode:'goal',total:FV,invested:inv,monthly:P,tenure:Y,rate:R,inst:n,rows:rows});\n    if(scroll)scrollRes();\n  }\n  function recalc(scroll){\n    if(curTab==='standard')calcStd(scroll);\n    else if(curTab==='stepup')calcStep(scroll);\n    else if(curTab==='goal')calcGoal(scroll);\n  }\n\n  \/* ---- SCROLL ---- *\/\n  function scrollRes(){\n    var el=document.getElementById('sip-results');\n    if(!el)return;\n    setTimeout(function(){\n      var rect=el.getBoundingClientRect();\n      var top=rect.top+(window.pageYOffset||document.documentElement.scrollTop||0)-80;\n      try{window.scrollTo({top:top,behavior:'smooth'});}catch(e){window.scrollTo(0,top);}\n    },80);\n  }\n\n  \/* ---- SHOW RESULTS ---- *\/\n  function setText(id,v){var e=document.getElementById(id);if(e)e.textContent=v;}\n  function showRes(p){\n    lastRes=p;\n    var panel=document.getElementById('sip-results');\n    if(!panel)return;\n    var total=p.total, inv=p.invested, ret=Math.max(0,total-inv);\n    var retP=total>0?(ret\/total*100):0, invP=100-retP;\n    panel.classList.remove('sv');\n    setTimeout(function(){ panel.classList.add('sv'); }, 16);\n    if(p.mode==='goal'){\n      setText('sip-res-lbl','Required Monthly SIP');\n      setText('sip-res-amt',fmt(p.monthly));\n      setText('sip-res-sub','to reach '+fmt(total)+' in '+p.tenure+' yrs @ '+p.rate+'% p.a.');\n    }else{\n      setText('sip-res-lbl','Total Corpus at Maturity');\n      setText('sip-res-amt',fmt(total));\n      setText('sip-res-sub',p.tenure+' years @ '+p.rate+'% expected annual return');\n    }\n    setText('sip-st-inv',fmt(inv));\n    setText('sip-st-invsub',p.inst+' monthly instalments');\n    setText('sip-st-ret',fmt(ret));\n    setText('sip-st-retpct',retP.toFixed(1)+'% of total corpus');\n    setText('sip-lg-inv',fmt(inv));\n    setText('sip-lg-ret',fmt(ret));\n    drawDonut(invP,retP);\n    if(p.rows)buildTable(p.rows,p.mode);\n  }\n\n  \/* ---- DONUT ---- *\/\n  function drawDonut(iP,rP){\n    var svg=document.getElementById('sip-donut');\n    if(!svg)return;\n    var cx=70,cy=70,R=56,ri=40,TAU=2*Math.PI,gap=(3\/360)*TAU;\n    function sec(s,e,col){\n      var span=e-s; if(span<=0.01)return null;\n      var lg=span>Math.PI?1:0;\n      var x1=cx+R*Math.cos(s),y1=cy+R*Math.sin(s);\n      var x2=cx+R*Math.cos(e),y2=cy+R*Math.sin(e);\n      var ix1=cx+ri*Math.cos(s),iy1=cy+ri*Math.sin(s);\n      var ix2=cx+ri*Math.cos(e),iy2=cy+ri*Math.sin(e);\n      var d='M'+x1+' '+y1+' A'+R+' '+R+' 0 '+lg+' 1 '+x2+' '+y2+' L'+ix2+' '+iy2+' A'+ri+' '+ri+' 0 '+lg+' 0 '+ix1+' '+iy1+' Z';\n      var path=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','path');\n      path.setAttribute('d',d); path.setAttribute('fill',col); return path;\n    }\n    svg.innerHTML='';\n    var base=-Math.PI\/2;\n    var iA=(iP\/100)*TAU-gap, rA=(rP\/100)*TAU-gap;\n    var eI=base+iA, sR=eI+gap*2, eR=sR+rA;\n    var pI=sec(base,eI,'#7000F4'), pR=sec(sR,eR,'#0a8c4e');\n    if(pI)svg.appendChild(pI); if(pR)svg.appendChild(pR);\n    var c=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','circle');\n    c.setAttribute('cx',cx); c.setAttribute('cy',cy); c.setAttribute('r',ri-2); c.setAttribute('fill','#fff');\n    svg.appendChild(c);\n    setText('sip-dpct',retP===undefined?rP.toFixed(1)+'%':rP.toFixed(1)+'%');\n  }\n\n  \/* ---- TABLE ---- *\/\n  function buildTable(rows,mode){\n    var th=document.getElementById('sip-th-sip');\n    if(th)th.textContent=mode==='stepup'?'Monthly SIP*':'Monthly SIP';\n    var tb=document.getElementById('sip-tbody'); if(!tb)return;\n    var h='';\n    rows.forEach(function(r){\n      h+='<tr><td>Year '+r.year+'<\/td><td>'+fmtShort(r.sip)+'<\/td><td>'+fmt(r.inv)+'<\/td><td style=\"color:#0a8c4e\">'+fmt(r.ret)+'<\/td><td class=\"scorp\">'+fmt(r.corp)+'<\/td><\/tr>';\n    });\n    tb.innerHTML=h;\n  }\n\n  \/* ---- COPY ---- *\/\n  function copyRes(){\n    if(!lastRes)return;\n    var r=lastRes, ret=Math.max(0,r.total-r.invested);\n    var txt=r.mode==='goal'\n      ?'SIP Goal Planner \u2014 davidcelestin.com\\nTarget Corpus:        '+fmt(r.total)+'\\nRequired Monthly SIP: '+fmt(r.monthly)+'\\nAmount to Invest:     '+fmt(r.invested)+'\\nEstimated Returns:    '+fmt(ret)+'\\nDuration: '+r.tenure+' yrs | Return: '+r.rate+'% p.a.'\n      :'SIP Calculator \u2014 davidcelestin.com\\nTotal Corpus:      '+fmt(r.total)+'\\nAmount Invested:   '+fmt(r.invested)+'\\nEstimated Returns: '+fmt(ret)+'\\nDuration: '+r.tenure+' yrs | Return: '+r.rate+'% p.a.';\n    if(navigator.clipboard&&navigator.clipboard.writeText){\n      navigator.clipboard.writeText(txt).then(function(){toast('Result copied!');});\n    }else{\n      var ta=document.createElement('textarea');\n      ta.value=txt; ta.style.cssText='position:fixed;top:-999px;left:-999px;opacity:0';\n      document.body.appendChild(ta); ta.focus(); ta.select();\n      try{document.execCommand('copy');toast('Result copied!');}catch(e){toast('Copy manually.');}\n      document.body.removeChild(ta);\n    }\n  }\n\n  \/* ---- RESET ---- *\/\n  function doReset(){\n    var defs={'sip-s-amt':5000,'sip-s-yrs':10,'sip-s-ret':12,'sip-sl-s-amt':5000,'sip-sl-s-yrs':10,'sip-sl-s-ret':12};\n    Object.keys(defs).forEach(function(id){var e=document.getElementById(id);if(e)e.value=defs[id];});\n    var lump=document.getElementById('sip-s-lump');if(lump)lump.value='';\n    root.querySelectorAll('.serr').forEach(function(e){e.classList.remove('serr');});\n    root.querySelectorAll('.sferr.sv').forEach(function(e){e.classList.remove('sv');});\n    var res=document.getElementById('sip-results');if(res)res.classList.remove('sv');\n    var tw=document.getElementById('sip-tbl-wrap'),tt=document.getElementById('sip-tbl-tog');\n    if(tw)tw.classList.remove('so'); if(tt)tt.classList.remove('so');\n    lastRes=null;\n    root.querySelectorAll('.ssl').forEach(slBg);\n    toast('Calculator reset');\n  }\n\n  \/* ---- CURRENCY ---- *\/\n  function applyCur(code,sym,loc){\n    CUR.code=code; CUR.sym=sym; CUR.loc=loc;\n    root.querySelectorAll('.spre').forEach(function(e){e.textContent=sym;});\n    var ss=document.getElementById('sip-s-sym');if(ss)ss.textContent=sym;\n    var slMax=document.getElementById('sip-sl-s-max');if(slMax)slMax.textContent=code==='INR'?'1,00,000':'100,000';\n    var gh=document.getElementById('sip-g-hint');\n    if(gh)gh.textContent=code==='INR'?'How much do you want to accumulate? (e.g. \u20b910,00,000 = \u20b910 Lakh)':'How much do you want to accumulate? Enter your target in '+code+'.';\n    renderBench();\n    recalc(false);\n  }\n\n  \/* ---- BENCHMARKS ---- *\/\n  function renderBench(){\n    var bench=getBench();\n    var cfgs=[\n      {cid:'sip-bench-s',rid:'sip-s-ret',sid:'sip-sl-s-ret'},\n      {cid:'sip-bench-u',rid:'sip-u-ret',sid:'sip-sl-u-ret'},\n      {cid:'sip-bench-g',rid:'sip-g-ret',sid:'sip-sl-g-ret'}\n    ];\n    cfgs.forEach(function(cfg){\n      var con=document.getElementById(cfg.cid);if(!con)return;\n      var curV=parseFloat((document.getElementById(cfg.rid)||{}).value);\n      con.innerHTML='';\n      bench.forEach(function(b){\n        var chip=document.createElement('div');\n        chip.className='sbch'+(b.v===curV?' sa':'');\n        chip.textContent=b.l;\n        chip.setAttribute('role','button');\n        chip.setAttribute('tabindex','0');\n        (function(bv,rid,sid,cid){\n          function activate(){\n            var inp=document.getElementById(rid),sl=document.getElementById(sid);\n            if(inp)inp.value=bv;\n            if(sl){sl.value=Math.min(bv,parseFloat(sl.max));slBg(sl);}\n            document.querySelectorAll('#'+cid+' .sbch').forEach(function(c){c.classList.remove('sa');});\n            chip.classList.add('sa');\n            recalc(false);\n          }\n          chip.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();activate();});\n          chip.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();activate();}});\n        })(b.v,cfg.rid,cfg.sid,cfg.cid);\n        con.appendChild(chip);\n      });\n    });\n  }\n\n  \/* ---- TOAST ---- *\/\n  function toast(msg){\n    var t=document.getElementById('sip-toast2');if(!t)return;\n    t.textContent=msg; t.classList.add('sv');\n    if(toastTmr)clearTimeout(toastTmr);\n    toastTmr=setTimeout(function(){t.classList.remove('sv');},2400);\n  }\n\n  \/* ---- WIRE EVENTS ---- *\/\n  \/* Helper: attach click + Enter\/Space keyboard on div-buttons *\/\n  function on(id, fn){\n    var el=document.getElementById(id);if(!el)return;\n    el.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();fn(e);});\n    el.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();fn(e);}});\n  }\n  function onEl(el, fn){\n    if(!el)return;\n    el.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();fn(e);});\n    el.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();fn(e);}});\n  }\n\n  \/* Tabs *\/\n  root.querySelectorAll('.stab').forEach(function(tab){\n    onEl(tab, function(){\n      var t=tab.getAttribute('data-tab');\n      var pid=tab.getAttribute('data-panel');\n      if(!t)return;\n      curTab=t;\n      root.querySelectorAll('.stab').forEach(function(tb){\n        var active=tb.getAttribute('data-tab')===t;\n        tb.classList.toggle('sa',active);\n        tb.setAttribute('aria-selected',active?'true':'false');\n      });\n      root.querySelectorAll('.spanel').forEach(function(p){\n        p.classList.toggle('sa',p.id===pid);\n      });\n      var res=document.getElementById('sip-results');if(res)res.classList.remove('sv');\n      recalc(false);\n    });\n  });\n\n  \/* Currency chips *\/\n  root.querySelectorAll('.scchip').forEach(function(chip){\n    onEl(chip, function(){\n      root.querySelectorAll('.scchip').forEach(function(c){c.classList.remove('sa');c.setAttribute('aria-pressed','false');});\n      chip.classList.add('sa'); chip.setAttribute('aria-pressed','true');\n      var sel=document.getElementById('sip-cur-sel');if(sel)sel.value='';\n      applyCur(chip.getAttribute('data-cur'),chip.getAttribute('data-sym'),chip.getAttribute('data-loc'));\n    });\n  });\n\n  \/* Currency select *\/\n  var curSel=document.getElementById('sip-cur-sel');\n  if(curSel){\n    curSel.addEventListener('change',function(){\n      if(!curSel.value)return;\n      var p=curSel.value.split('|');if(p.length<3)return;\n      root.querySelectorAll('.scchip').forEach(function(c){c.classList.remove('sa');c.setAttribute('aria-pressed','false');});\n      applyCur(p[0],p[1],p[2]);\n    });\n  }\n\n  \/* Input\/Slider pairs *\/\n  function wirePair(iid,sid,cb){\n    var inp=document.getElementById(iid), sl=document.getElementById(sid);\n    if(inp)inp.addEventListener('input',function(){syncSl(iid,sid);cb();});\n    if(sl)sl.addEventListener('input',function(){syncIn(sid,iid);slBg(sl);cb();});\n  }\n  wirePair('sip-s-amt','sip-sl-s-amt',function(){recalc(false);});\n  wirePair('sip-s-yrs','sip-sl-s-yrs',function(){recalc(false);});\n  wirePair('sip-s-ret','sip-sl-s-ret',function(){recalc(false);});\n  wirePair('sip-u-amt','sip-sl-u-amt',function(){recalc(false);});\n  wirePair('sip-u-step','sip-sl-u-step',function(){recalc(false);});\n  wirePair('sip-u-yrs','sip-sl-u-yrs',function(){recalc(false);});\n  wirePair('sip-u-ret','sip-sl-u-ret',function(){recalc(false);});\n  wirePair('sip-g-yrs','sip-sl-g-yrs',function(){recalc(false);});\n  wirePair('sip-g-ret','sip-sl-g-ret',function(){recalc(false);});\n  var lt=document.getElementById('sip-s-lump');if(lt)lt.addEventListener('input',function(){recalc(false);});\n  var gt=document.getElementById('sip-g-tgt');if(gt)gt.addEventListener('input',function(){recalc(false);});\n\n  \/* Calculate buttons *\/\n  on('sip-btn-std',function(){calcStd(true);});\n  on('sip-btn-stepup',function(){calcStep(true);});\n  on('sip-btn-goal',function(){calcGoal(true);});\n\n  \/* Copy \/ Reset *\/\n  on('sip-btn-copy',copyRes);\n  on('sip-btn-reset',doReset);\n\n  \/* Table toggle *\/\n  on('sip-tbl-tog',function(){\n    var tw=document.getElementById('sip-tbl-wrap');\n    var tt=document.getElementById('sip-tbl-tog');\n    if(!tw||!tt)return;\n    var open=tw.classList.toggle('so');\n    tt.classList.toggle('so',open);\n    tt.setAttribute('aria-expanded',open?'true':'false');\n  });\n\n  \/* FAQ *\/\n  root.querySelectorAll('.sfaqb').forEach(function(btn){\n    onEl(btn,function(){\n      var item=btn.parentElement;\n      var isOpen=item.classList.toggle('so');\n      btn.setAttribute('aria-expanded',isOpen?'true':'false');\n      var ic=btn.querySelector('.sfaqic');if(ic)ic.textContent=isOpen?'\u2212':'+';\n    });\n  });\n\n  \/* ---- INIT ---- *\/\n  var yr=document.getElementById('sip-yr');if(yr)yr.textContent=new Date().getFullYear();\n  root.querySelectorAll('.ssl').forEach(slBg);\n  renderBench();\n  calcStd(false);\n}\n\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Free Tool \u00b7 India &amp; Global SIP Calculator \u2014 Estimate Your Investment Returns Enter your monthly contribution, expected return, and tenure \u2014 get your projected corpus instantly. Works for mutual funds, index funds, ETFs, and any regular investment plan worldwide. Standard SIP Step-Up SIP Goal Planner Currency \u20b9 INR $ USD \u20ac EUR \u00a3 GBP [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":87,"parent":2097,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-2119","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/pages\/2119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/comments?post=2119"}],"version-history":[{"count":8,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/pages\/2119\/revisions"}],"predecessor-version":[{"id":2134,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/pages\/2119\/revisions\/2134"}],"up":[{"embeddable":true,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/pages\/2097"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/media\/87"}],"wp:attachment":[{"href":"https:\/\/davidcelestin.com\/en\/wp-json\/wp\/v2\/media?parent=2119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}