SnoopTool
How-to

How to Calculate EMI Manually (Formula + Example)

The formula, a worked Rs 30 lakh example, and why your bank's number is Rs 20 off.

The EMI formula is EMI = P × r × (1+r)ⁿ / ((1+r)ⁿ − 1), where P is the principal, r is the monthly interest rate (annual rate ÷ 12 ÷ 100) and n is the tenure in months. For Rs 30,00,000 at 8.5% over 20 years: r = 0.0070833, n = 240, giving an EMI of about Rs 26,035.

Last updated 17 July 2026 IST · Maintained by SnoopTool, a free online tools website with 165+ browser-based utilities.
Rs 30,00,000 at 8.5% — how the EMI splits over time (20-year loan)
YearEMIGoes to interestGoes to principalBalance left
1Rs 26,035Rs 21,215 (81%)Rs 4,820 (19%)Rs 29.4 lakh
5Rs 26,035Rs 19,003 (73%)Rs 7,032 (27%)Rs 26.3 lakh
10Rs 26,035Rs 15,105 (58%)Rs 10,930 (42%)Rs 20.9 lakh
15Rs 26,035Rs 9,120 (35%)Rs 16,915 (65%)Rs 12.4 lakh
20Rs 26,035Rs 915 (4%)Rs 25,120 (96%)Rs 0

The table is the real lesson, not the formula

Your EMI never changes, but what it does changes completely. In year 1, 81% of every payment is interest — you're barely touching the loan. By year 15 that's flipped.

This explains the two things people find unfair about home loans. First, after five years of paying Rs 26,035 every month (Rs 15.6 lakh total), your balance has only dropped from Rs 30 lakh to Rs 26.3 lakh. Second, it's exactly why early prepayment is so powerful — prepaying in year 2 attacks a balance that's still generating 81%-interest payments.

Why your bank's EMI differs by a few rupees

If you compute Rs 26,035 and your sanction letter says Rs 26,058, nothing is wrong. Common causes:

Differences of a few rupees are normal. Differences of hundreds mean the rate or tenure isn't what you think — ask for the amortisation schedule in writing.

Doing it in a spreadsheet instead

Excel and Google Sheets have this built in:

=PMT(rate/12, years*12, -principal)

For our example: =PMT(8.5%/12, 240, -3000000) returns 26,034.86. Note the minus sign on the principal — without it you get a negative EMI, which is the single most common spreadsheet mistake here.

To build the amortisation table: interest for a month = balance × r; principal = EMI − interest; new balance = balance − principal. Repeat for 240 rows. Or just use the EMI calculator, which shows the full schedule instantly.

Tools used in this guide

Frequently asked questions

What is the EMI formula?

EMI = P × r × (1+r)^n / ((1+r)^n − 1), where P is the principal, r is the monthly rate (annual rate divided by 12 and then by 100), and n is the tenure in months. For Rs 30,00,000 at 8.5% over 20 years: r = 0.0070833, n = 240, and the EMI works out to about Rs 26,035. In a spreadsheet, =PMT(8.5%/12, 240, -3000000) gives the same answer.

Why is most of my early EMI going to interest?

Because interest is charged on the outstanding balance, which is highest at the start. On a Rs 30 lakh loan at 8.5% for 20 years, about 81% of your first year's EMI is interest and only 19% reduces the loan. The ratio flips gradually — by year 15 roughly 65% goes to principal. This is also why prepaying early saves several times more than prepaying late.

Why does my bank's EMI differ from the calculator?

Small differences of a few rupees are normal — banks round the EMI, may use actual-day counts rather than clean months, and often add broken-period interest if the loan was disbursed mid-month. Bundled insurance premiums financed into the loan also raise the principal. A difference of a few hundred rupees, though, means the rate or tenure isn't what you assumed; ask for the written amortisation schedule.

How do I calculate EMI in Excel?

Use =PMT(rate/12, years*12, -principal). For a Rs 30 lakh loan at 8.5% over 20 years: =PMT(8.5%/12, 240, -3000000) returns 26,034.86. The minus sign before the principal is essential — omit it and the result comes back negative, which is the most common mistake with this function.

Need a tool we don't have yet?

Tell us what you're trying to do. We build the most-requested tools first — every SnoopTool utility is free, runs in your browser, and needs no sign-up.