Estimate your monthly payments and see how much home you can afford.
30 Years Fixed
20 Years Fixed
15 Years Fixed
10 Years Fixed
Payment Breakdown
Estimated Monthly Payment$2,270
Principal & Interest:$2,020
Property Taxes:$250
Total Loan Amount:$320,000
Total Interest Paid:$407,200
How to Use This Mortgage Calculator
Choosing a home is one of life's biggest financial decisions. Our mortgage calculator helps you visualize your financial commitment by breaking down the costs associated with a home loan. By adjusting the variables above, you can see how interest rates and down payments impact your long-term wealth.
Understanding the Mortgage Components
Home Price: The total purchase price of the property.
Down Payment: The cash you pay upfront. A 20% down payment typically helps you avoid Private Mortgage Insurance (PMI).
Interest Rate: The cost of borrowing from the bank. Even a 0.5% difference can save you tens of thousands of dollars over 30 years.
Loan Term: 30 years is standard for lower monthly payments, while 15 years results in significantly less interest paid overall.
Mortgage Calculation Example
If you purchase a house for $400,000 with a 20% down payment ($80,000) at a 6.5% interest rate for 30 years:
Loan Amount: $320,000
Monthly P&I: Approximately $2,022
Total Interest Paid: Over $408,000 across the life of the loan.
Why Calculating Your Mortgage Matters
Financial experts recommend that your total housing payment (including taxes and insurance) should not exceed 28% to 33% of your gross monthly income. This calculator allows you to stress-test your budget against current market rates before you start touring homes or talking to lenders.
function calculateMortgage() {
var homePrice = parseFloat(document.getElementById("homePrice").value);
var downPaymentPercent = parseFloat(document.getElementById("downPaymentPercent").value);
var loanTermYears = parseFloat(document.getElementById("loanTerm").value);
var annualInterestRate = parseFloat(document.getElementById("interestRate").value);
var annualPropertyTax = parseFloat(document.getElementById("propertyTax").value);
if (isNaN(homePrice) || isNaN(downPaymentPercent) || isNaN(loanTermYears) || isNaN(annualInterestRate)) {
alert("Please enter valid numeric values.");
return;
}
// Calculations
var downPaymentAmount = homePrice * (downPaymentPercent / 100);
var principal = homePrice – downPaymentAmount;
var monthlyInterestRate = (annualInterestRate / 100) / 12;
var numberOfPayments = loanTermYears * 12;
// Mortgage Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
var monthlyPI = 0;
if (monthlyInterestRate === 0) {
monthlyPI = principal / numberOfPayments;
} else {
var x = Math.pow(1 + monthlyInterestRate, numberOfPayments);
monthlyPI = (principal * x * monthlyInterestRate) / (x – 1);
}
var monthlyTax = annualPropertyTax / 12;
var totalMonthly = monthlyPI + monthlyTax;
var totalInterest = (monthlyPI * numberOfPayments) – principal;
// Formatting
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 0,
maximumFractionDigits: 0
});
// Update UI
document.getElementById("monthlyResult").innerText = formatter.format(totalMonthly);
document.getElementById("piResult").innerText = formatter.format(monthlyPI);
document.getElementById("taxResult").innerText = formatter.format(monthlyTax);
document.getElementById("totalLoanResult").innerText = formatter.format(principal);
document.getElementById("totalInterestResult").innerText = formatter.format(totalInterest);
}
// Run once on load
window.onload = function() {
calculateMortgage();
};