Money & shopping

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.

Mortgage calculator with overpayments and chart
Esc to restore

Your inputs

Only changes the symbol in the results. No conversion is done and nothing is looked up.

Used for the loan to value figure. In "Loan amount only" mode it is optional: enter 0 to leave the loan to value out.

An amount, or a percentage below 100 when you chose that above.

The amount you borrow, at least 1,000.

Added to the years. The longest term is 60 years.

The rate for the whole term, or for the fixed period if you set one below. Read to six decimal places.

For example 24 or 60. After it the reversion rate below applies. Ignored when it is 0 or covers the whole term.

Used only when a fixed period is set.

Extra money paid on top of the payment at the end of each month. 0 for none.

0 for none.

Month 1 is the first payment. Ignored when the lump sum is 0.

Lenders usually quote the first. The second compounds to exactly the quoted rate over a year.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded, and nothing is saved unless you choose “Save result”.

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
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

First 5 rows of the example result
YearLast payment in the yearOpening balancePaid in the yearInterestCapital repaidClosing balance
11 Jan 2028200,00015,230.169,878.455,351.71194,648.29
21 Jan 2029194,648.2915,230.169,604.645,625.52189,022.77
31 Jan 2030189,022.7715,230.169,316.855,913.31183,109.46
41 Jan 2031183,109.4615,230.169,014.316,215.85176,893.61
51 Jan 2032176,893.6115,230.168,696.296,533.87170,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.