Home loan EMI calculator
A 5,000,000 home loan at 8.5% over 240 months has an EMI of 43,391.16, and over those 20 years you pay more in interest than you borrowed. Test a 15, 20 or 30-year tenure before you sign. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Principal amount
- 5,000,000
- Annual rate
- 8.5
- Tenure months
- 240
- Monthly rate
- 0.0070833333
- Emi
- 43,391.16
- Total paid
- 10,413,878.4
- Total interest
- 5,413,878.4
A home loan EMI is the equated monthly installment a housing lender expects when you finance a purchase: one fixed amount every month that covers both interest and principal until the note is paid. Buyers, brokers, and originators quote three numbers—the principal actually financed after the down payment, a nominal annual interest rate as a percent, and a tenure in whole months—and they need the monthly payment those three numbers imply.
How home loan EMI is computed from principal, rate, and tenure
Home loan EMI is the equated monthly installment of a fully amortizing housing note: the same payment every month that first covers the interest accrued on the outstanding principal and then retires the balance, until the last installment pays off the house. Lenders quote three inputs only—the principal P actually financed after the cash down payment and any subsidy that reduces the note, a nominal annual interest rate as a percent, and a tenure n in whole months—and they expect one number back: the monthly EMI.
Convert the annual rate to a monthly periodic rate r by dividing by one hundred and then by twelve. When r is strictly positive the closed-form reducing-balance identity applies: EMI equals P times r times (1+r) to the n, divided by (1+r) to the n minus one. That is the same annuity formula advertised by home-loan EMI calculators in India, the United Kingdom, ASEAN markets, and many mortgage desks; it is not a simple-interest flat-rate quote, and it is not a month-by-month servicer walk that adds property tax or insurance.
When the annual rate is exactly zero the interest component vanishes and the EMI collapses to P divided by n, which is the honest result for an interest-free staff or promotional housing note. After the installment is rounded to two decimal places, multiplying EMI by n recovers the total paid and subtracting the principal recovers total interest, so a buyer can see the cash burden of stretching a twenty-year note to thirty years.
Typical housing tenures are one hundred twenty, one hundred eighty, two hundred forty, three hundred, or three hundred sixty months; some markets offer forty-year notes. The contract accepts any positive integer tenure from one through four hundred eighty. A tenure that is not a positive integer cannot amortize a monthly schedule and is rejected rather than producing a fractional installment count.
What you can do with it
Purchase-mortgage EMI worksheets
Turn home-loan principal, quoted annual rate, and a 15-, 20-, or 30-year tenure in months into the monthly EMI and total interest before the buyer signs.
FAQ
How is home loan EMI calculated?
For a 0% rate, EMI is principal/n. EMI is rounded to cents; total interest is EMI times n minus principal.
What happens if tenure is not a positive integer?
Zero, negatives, and values such as 240.5 are rejected and are not billed.
Is principal the purchase price of the house?
No. principal is the amount actually financed: listing price minus down payment, grants, and credits, plus only those fees rolled into the note. Property tax, insurance, and PMI are not included in this EMI.
How does a longer tenure change the EMI?
Spreading the same loan over more months lowers each EMI, but you pay interest for longer, so total interest rises. Compare, for example, 240 and 360 months to see what stretching from 20 to 30 years really costs.
Does the EMI include property tax or insurance?
No. The EMI covers only interest and principal on the amount financed. Property tax, insurance and other charges your lender may collect are not added, so budget for them separately.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/home-loan-emi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"principal":5000000,"annual_rate":8.5,"tenure_months":240}'const res = await fetch("https://api.kit.forhosting.com/fin/home-loan-emi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"principal": 5000000,
"annual_rate": 8.5,
"tenure_months": 240
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/home-loan-emi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"principal": 5000000,
"annual_rate": 8.5,
"tenure_months": 240
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/home-loan-emi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"principal":5000000,"annual_rate":8.5,"tenure_months":240}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"principal":5000000,"annual_rate":8.5,"tenure_months":240}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/home-loan-emi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"principal": 5000000,
"annual_rate": 8.5,
"tenure_months": 240
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.home_loan_emi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
This home loan EMI calculator applies the standard reducing-balance annuity formula used on mortgages and housing notes, so a zero percent rate collapses to principal divided by tenure, and a tenure that is not a positive integer fails with invalid_input instead of inventing a payment.
Input contract, response shape, and error behaviour
A formula string restates the reducing-balance identity so a UI can show the math next to the answer. Example: five million financed at 8.5 percent for two hundred forty months yields a fixed monthly EMI and a total-interest figure you can compare against a fifteen-year or thirty-year tenure before you sign. POST a JSON body with three required fields. principal is the amount actually borrowed on the home, not the listing price: subtract the cash down payment, grants, and seller credits that reduce the note, then add only those origination fees the lender rolls into the loan. Aliases amount and loan_amount map to the same field so origination forms can reuse their column names. annual_rate is the nominal annual interest rate as a percent (eight point five means 8.5 percent a year); aliases rate, interest_rate, and apr are accepted. tenure_months is the repayment period in whole months; aliases months, tenure, term_months, and term map to the same field. tenure_months must be a positive integer from 1 to 480. Zero, negatives, and non-integers such as 240.5 fail with invalid_input naming tenure_months—that is the contract buyers and APIs rely on when a worksheet sends a leftover zero, a sign error, or a year count that was never converted to months, and those failures are not billed. Each numeric field may arrive as a JSON number or a numeric string; missing fields, empty strings, and non-finite values fail with a message that names the field. If principal is not positive the task fails with invalid_input as well. On success the body echoes principal, annual_rate, and tenure_months, reports monthly_rate and the rounded emi, then total_paid and total_interest. Pair the JSON with your own amortization chart if you need every row; this endpoint returns the monthly payment and the interest total, so responses stay small for widgets and APIs.
Where a home loan EMI calculator earns its keep
Buyers use a home loan EMI calculator when a bank or housing-finance company quotes a purchase mortgage and they need the monthly payment those three numbers imply before they commit to an offer. Affordability desks re-run the same principal at two or three housing tenures—one hundred eighty versus two hundred forty versus three hundred sixty months—to see how much the installment drops and how much extra interest the longer note costs. Failed validation, including a tenure that is not a positive integer, does not consume balance. Refinance desks treat principal as the current payoff, annual_rate as the new offer, and tenure_months as the remaining or reset term, then read total_interest against the old mortgage. Keep principal positive, keep tenure_months a positive integer, pin the rounded currency fields in tests, and you get reproducible home-loan EMI figures for mortgage worksheets, LMS plugins, and edge workers without standing up a servicing engine of your own. This landing is the housing equated-installment tool; a generic EMI page, a car-loan EMI page, and a year-denominated home-improvement note remain separate search intents with their own contracts.
Integration use cases
Compare housing tenures
Hold principal and annual_rate fixed and re-run tenure_months at 180, 240, and 360 to see how much the installment drops versus how much extra interest a longer home loan costs.
Refinance and payoff checks
Re-run the current mortgage payoff as principal with a new annual_rate and tenure_months to see whether resetting the home loan actually saves interest.
Technical questions
Does a 0% promotional home-loan rate work?
Yes. Set annual_rate to 0. EMI is the principal divided by tenure_months and total interest is zero aside from any leftover cents from rounding.
What does the home loan EMI calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.