A mortgage is one of the largest financial commitments most people will ever make. Understanding how your monthly repayments are calculated is crucial for budgeting and financial planning. This UK Mortgage Repayment Calculator helps you estimate these costs based on the loan amount, interest rate, and term of your mortgage.
How the Calculation Works (The Formula)
The calculation for a standard repayment mortgage uses a specific financial formula to determine the fixed monthly payment. This formula ensures that over the term of the loan, the principal amount borrowed is fully repaid along with the accumulated interest.
The formula for calculating the monthly payment (M) is:
M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
Where:
M = Your monthly repayment
P = The principal loan amount (the total amount borrowed, e.g., £150,000)
i = Your monthly interest rate (annual rate divided by 12, and then by 100 to convert percentage to decimal, e.g., 4.5% annual becomes 0.045 / 12 = 0.00375)
n = Total number of payments over the loan's lifetime (loan term in years multiplied by 12)
Once the monthly payment is calculated, the total interest paid and total repayment are derived:
Total Repayment = Monthly Payment × Total Number of Payments (n)
Total Interest Paid = Total Repayment – Principal Loan Amount (P)
Using the Calculator
To get an accurate estimate, simply input the following details:
Mortgage Amount (£): The total sum you are borrowing from the lender.
Annual Interest Rate (%): The yearly interest rate offered on your mortgage. This can significantly impact your monthly payments and total cost.
Loan Term (Years): The duration over which you agree to repay the mortgage (commonly 15, 20, 25, or 30 years).
Clicking "Calculate Repayments" will display your estimated monthly payment, the total interest you'll pay over the life of the loan, and the overall amount you will have repaid.
Why is this Important?
Budgeting: Knowing your monthly payment helps you determine if the mortgage is affordable within your current income and expenses.
Financial Planning: Understanding the total interest paid gives you a clear picture of the long-term cost of borrowing.
Comparison: This calculator can help you compare different mortgage offers by plugging in various interest rates and terms.
Decision Making: It aids in making informed decisions about loan amounts, repayment periods, and understanding the impact of interest rate fluctuations.
Disclaimer: This calculator provides an estimate for standard repayment mortgages. It does not account for additional fees, mortgage insurance, different mortgage types (like interest-only), or variations in how lenders calculate payments. Always consult with a qualified mortgage advisor for personalised advice.
function calculateMortgage() {
var loanAmount = parseFloat(document.getElementById("loanAmount").value);
var annualInterestRate = parseFloat(document.getElementById("annualInterestRate").value);
var loanTermYears = parseInt(document.getElementById("loanTermYears").value);
var monthlyPaymentElement = document.getElementById("monthlyPayment");
var totalInterestElement = document.getElementById("totalInterest");
var totalRepaymentElement = document.getElementById("totalRepayment");
// Clear previous results
monthlyPaymentElement.textContent = "£0.00";
totalInterestElement.textContent = "£0.00";
totalRepaymentElement.textContent = "£0.00";
// Validate inputs
if (isNaN(loanAmount) || loanAmount <= 0 ||
isNaN(annualInterestRate) || annualInterestRate <= 0 ||
isNaN(loanTermYears) || loanTermYears <= 0) {
alert("Please enter valid positive numbers for all fields.");
return;
}
// Calculate monthly interest rate (i)
var i = (annualInterestRate / 100) / 12;
// Calculate total number of payments (n)
var n = loanTermYears * 12;
// Calculate monthly payment (M) using the formula
// M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
var monthlyPayment = loanAmount * (i * Math.pow(1 + i, n)) / (Math.pow(1 + i, n) – 1);
// Calculate total repayment and total interest
var totalRepayment = monthlyPayment * n;
var totalInterest = totalRepayment – loanAmount;
// Format results to two decimal places and add currency symbol
monthlyPaymentElement.textContent = "£" + monthlyPayment.toFixed(2);
totalInterestElement.textContent = "£" + totalInterest.toFixed(2);
totalRepaymentElement.textContent = "£" + totalRepayment.toFixed(2);
}