Mortgage calculator with overpayments and chart
Mortgage payment, total interest and payoff time with overpayments, a fixed rate then a reversion rate, a chart and a downloadable monthly schedule.
A clear answer. Here’s how.
For a repayment mortgage the monthly payment is M = P r / (1 − (1 + r)^−n), where P is the amount borrowed, n the number of monthly payments and r the monthly interest rate; at 0% it is P / n. As on a lender statement, the payment is rounded to the penny, each month’s interest is the opening balance times r rounded to the penny, and the last payment clears whatever is left. By default r is the annual rate divided by 12; the alternative treats the quoted rate as an effective annual rate and uses r = (1 + annual rate)^(1/12) − 1. Real lenders may charge interest daily, so their statements can differ by a few pounds over the term. With a fixed period, the payment is worked out again for the balance and months left when the reversion rate starts. Overpayments are made at the end of each month on top of the payment, and a lump sum goes in with the payment of the month you choose. Reduce the term keeps the scheduled payment at the no-overpayment figure so the loan ends sooner. Reduce the payment works out the scheduled payment again over the remaining original term after every overpayment, so it falls; because the overpayment is still paid on top, the loan can end slightly before the original term. For interest-only the payment is the interest on the balance and the balance falls due in the last month unless overpayments clear it. Months saved and interest saved compare with the same loan without overpayments. The tool does not include fees, early repayment charges, yearly overpayment limits (often 10%), payment holidays, tax, insurance or variable rates. It is an illustration, not financial advice.
How this is checked
5 reference checks passed These 5 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.
See the checks and where each expected answer comes from
Case 1
- Inputs
- Overpayment every month 0
- Expected, and what Toolmoz gave
- Loan amount expected 200000, Toolmoz 200000Loan to value expected 80, Toolmoz 80Monthly payment expected 1169.18, Toolmoz 1169.18Total interest expected 150754.02, Toolmoz 150754.02Total repaid expected 350754.02, Toolmoz 350754.02
- Where the expected answer comes from
- Closed form M = P r / (1 - (1 + r)^-n) with P = 200,000, r = 0.05 / 12 and n = 300: (1 + r)^-300 = 0.2872498, so M = 833.3333 / 0.7127502 = 1,169.180083, which is 1,169.18 to the penny. Loan to value = 200,000 / 250,000 = 80%. The totals come from an independent Python Decimal script (60 digits, exact Fraction interest rounded half up to the penny) that builds the schedule month by month: 299 payments of 1,169.18 and a last payment of 1,169.20 make 350,754.02, so interest is 150,754.02
- Allowed difference
- ±0.001
Case 2
- Inputs
- Size the loan from loanHouse price 0Loan amount 100000Term (years) 7Interest rate (% a year) 0Overpayment every month 0
- Expected, and what Toolmoz gave
- Monthly payment expected 1190.48, Toolmoz 1190.48Total interest expected 0, Toolmoz 0Total repaid expected 100000, Toolmoz 100000
- Where the expected answer comes from
- At 0% the payment is P / n = 100,000 / 84 = 1,190.476..., which rounds to 1,190.48. Eighty-three payments come to 98,809.84, so the last payment is 100,000 - 98,809.84 = 1,190.16, interest is zero and 100,000 is repaid (hand arithmetic, confirmed month by month in the independent Python Decimal script)
- Allowed difference
- ±0.001
Case 3
- Inputs
- Size the loan from loanHouse price 0Loan amount 150000Term (years) 20Interest rate (% a year) 4.8Type of mortgage interest-onlyOverpayment every month 0
- Expected, and what Toolmoz gave
- Monthly payment expected 600, Toolmoz 600Total interest expected 144000, Toolmoz 144000Total repaid expected 294000, Toolmoz 294000Lump sum due when the term ends expected 150000, Toolmoz 150000
- Where the expected answer comes from
- Interest-only payment = P r = 150,000 x 0.048 / 12 = 600.00 a month for 240 months, so interest is 240 x 600 = 144,000; the whole 150,000 falls due in month 240, so 294,000 is repaid in total (hand arithmetic)
- Allowed difference
- ±0.001
Case 4
- Inputs
- Size the loan from loanHouse price 0Loan amount 250000Term (years) 25Interest rate (% a year) 4Initial fixed-rate period (months, 0 for none) 60Reversion rate after the fixed period (% a year) 7Overpayment every month 0
- Expected, and what Toolmoz gave
- Monthly payment expected 1319.59, Toolmoz 1319.59Monthly payment after the fixed period expected 1688.3, Toolmoz 1688.3Total interest expected 234369.41, Toolmoz 234369.41Total repaid expected 484369.41, Toolmoz 484369.41
- Where the expected answer comes from
- Phase 1: M = 250,000 x (0.04 / 12) / (1 - (1 + 0.04 / 12)^-300) = 1,319.5921, so 1,319.59. After 60 payments the balance is 217,761.65 (independent month-by-month Python Decimal script). Phase 2: M = 217,761.65 x (0.07 / 12) / (1 - (1 + 0.07 / 12)^-240) = 1,688.3038, so 1,688.30. The same script ends with a last payment of 1,690.31 and totals 484,369.41 repaid, which is 234,369.41 of interest
- Allowed difference
- ±0.001
Case 5
- Inputs
- Size the loan from loanHouse price 0Loan amount 200000Term (years) 25Interest rate (% a year) 5Overpayment every month 200One-off lump sum 10000Lump sum paid in month number 24Overpayments should term
- Expected, and what Toolmoz gave
- Months to repay expected 210, Toolmoz 210Total interest expected 96517.38, Toolmoz 96517.38Total repaid expected 296517.38, Toolmoz 296517.38Months saved by overpaying expected 90, Toolmoz 90Interest saved by overpaying expected 54236.64, Toolmoz 54236.64
- Where the expected answer comes from
- An independent Python Decimal script (60 digits, exact Fraction interest rounded half up to the penny) pays 1,169.18 + 200 each month and 10,000 more in month 24. Its balances are 193,420.43 after 12 months and 151,944.47 after 60 months, the loan clears in month 210 with a last payment of 358.76, total paid is 296,517.38 and interest 96,517.38. Without overpayments the same script gives 300 months and 150,754.02 interest, so 90 months and 150,754.02 - 96,517.38 = 54,236.64 are saved
- Allowed difference
- ±0.001
What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.
See a worked example
Worked example
A fixed demonstration, separate from the values you enter above.
- Currency symbol (labels only)
- £ pounds
- Size the loan from
- House price and deposit
- House price
- 250000
- The deposit is
- An amount of money
- Deposit
- 50000
- Term (years)
- 25
- Term (extra months)
- 0
- Interest rate (% a year)
- 5
- Type of mortgage
- Repayment (capital and interest)
- Initial fixed-rate period (months, 0 for none)
- 0
- Reversion rate after the fixed period (% a year)
- 7
- Overpayment every month
- 100
- One-off lump sum
- 0
- Lump sum paid in month number
- 12
- Overpayments should
- Reduce the term (payment stays the same)
- Monthly rate convention
- Annual rate divided by 12 (UK lenders)
- Show calendar dates
- Yes, from a start date
- Start date (first payment is one month later)
- 2027-01-01
Example result
| Year | Last payment in the year | Opening balance | Paid in the year | Interest | Capital repaid | Closing balance |
|---|---|---|---|---|---|---|
| 1 | 1 Jan 2028 | 200,000 | 15,230.16 | 9,878.45 | 5,351.71 | 194,648.29 |
| 2 | 1 Jan 2029 | 194,648.29 | 15,230.16 | 9,604.64 | 5,625.52 | 189,022.77 |
| 3 | 1 Jan 2030 | 189,022.77 | 15,230.16 | 9,316.85 | 5,913.31 | 183,109.46 |
| 4 | 1 Jan 2031 | 183,109.46 | 15,230.16 | 9,014.31 | 6,215.85 | 176,893.61 |
| 5 | 1 Jan 2032 | 176,893.61 | 15,230.16 | 8,696.29 | 6,533.87 | 170,359.74 |
Without overpayments: 25 years, £150,754.02 interest, £350,754.02 repaid. With overpayments: 21 years 6 months, £126,248.62 interest, £326,248.62 repaid; 42 months and £24,505.40 saved. Loan to value 80%. Last payment on 1 Jul 2048. An illustration, not advice: interest is worked out monthly and rounded to the penny, with no fees or early repayment charges.