The calculator is split into three sections:

  1. Sliders

  2. Graphs & tables

  3. Input boxes

1. Sliders

Move the sliders to set the values of your principal, interest rate, loan length, and mortgage start date.

Up and down arrows at either side of the slider allow the range of values covered by the slider to be adjusted.

The checkboxes on the left of the sliders determine whether principal, interest, term or payment is calculated. By default, the Payment slider checkbox is ticked, meaning that moving the other sliders' values will calculate the payment. Clicking on another slider checkbox, e.g. Principal checkbox, allows the user to modify term, interest and payment to see the Principal value calculated as these other values change.

2. Graphs & tables

Use the buttons underneath the graphs and tables to choose how you want the output to be displayed:

3. Input boxes

The bottom of the calculator is split in two:

The Fixed Loan Data section stays constant while the other five sections can be chosen using the buttons at the bottom of the calculator.

Fixed Loan Data - use this as an alternative to the sliders for entering values. This section is called fixed because it does not take interest rate changes into account. The total interest paid over the entire mortgage is shown on the right hand side along with the total interest paid as a percentage of all payments made (see the Repayment Chart for a graphical view). The total payments figure includes principal and interest but not any other mortgage-related expenses.

The five optional sections:

  1. Expenses - On the left hand side, you can enter monthly HOA and two other monthly expenses. The annual Tax and Insurance fields are simply divided by 12 and added to the periodic payment amount. The PMI percentage can be entered if manual PMI mode is selected in the Settings, otherwise the PMI status is displayed. On the right hand side, the expenses figure is a total of all monthly and annual expenses for the given period. When this is added to the PMI due, a total payment for the period is shown. Overall figures for insurance, tax and PMI for the duration of the mortgage are also shown.

  2. Prepayment Data - this section gives you the opportunity to estimate how you can shorten the term of your mortgage by making either a single one-off payment or continuous extra monthly or annual payments. You must enter a starting month for the prepayment to take effect. The format is simply the month number i.e. 1 for the first month, 2 for the second month and so on. On the right-hand side, the Savings field shows you how much money you will save given amount of extra payments maid. The dates shown reflect what happens to the mortgage term when the extra payments have been factored in.

  3. Extra payments - add up to six extra one-time payments, giving the start and end months numbers to indicate the period when the extra payment is to be made.

  4. Interest rates - add up to five extra interest rates, giving the start and end month numbers to indicate when the interest rate is active. Months outside these ranges will use the fixed loan data interest rate. To specify a period where no principal is paid, enter a start and end month in the interest-only payments section.

  5. ARM - Adjustable Rate Mortgage support is provided in this section. Enter a start month to activate and click on the interest rate graph to view how this section alters the interest rates over the term of the mortgage.


Enter the nominal interest rate not an APR.
All calculations are performed on a monthly basis.
The figures are estimates only - your lender's figures will vary!

Amortization formula

Karl's Mortgage Calculator uses a standard amortization formula commonly used around the world. Interest is calculated on a monthly basis. Most financial institutions base their calculations on this formula, but many will calculate interest on a daily, weekly or even annual basis. The figures generated by the calculator should therefore approximate what your lender will charge you, but you should always contact your lender for exact details on how and when they charge interest on outstanding principal balances.

The text below is from Hugh Chou's web site.

First you must define some variables to make it easier to set up:

The following assumes a typical conventional loan where the interest is compounded monthly. First I will define two more variables to make the calculations easier:

Okay now for the big monthly payment (M) formula, it is:

         M  =  P  x ------------------------
                      1  - ( 1 + J ) ^ -N

   where 1 is the number one (it does not appear too clearly on some browsers)

So to calculate it, you would first calculate 1 + J then take that to the -N (minus N) power, subtract that from the number 1. Now take the inverse of that (if you have a 1/X button on your calculator push that). Then multiply the result times J and then times P. Sorry, for the long way of explaining it, but I just wanted to be clear for everybody.

The one-liner for a program would be (adjust for your favorite language):

         M = P * ( J / (1 - (1 + J) ** -N))

So now you should be able to calculate the monthly payment, M. To calculate the amortization table you need to do some iteration (i.e. a simple loop). I will tell you the simple steps :

Step 1: Calculate H = P x J, this is your current monthly interest
Step 2: Calculate C = M - H, this is your monthly payment minus your monthly interest, so it is the amount of principal you pay for that month
Step 3: Calculate Q = P - C, this is the new balance of your principal of your loan.
Step 4: Set P equal to Q and go back to Step 1: You thusly loop around until the value Q (and hence P) goes to zero.

Canadian amortization

Canadian mortgages are compounded semi-annually instead of monthly like US mortgages.

          Monthly Pmt = (P*(((1+i/200)^(1/6)-1))/(1-(((1+i/200)^(1/6)))^-(n*12)))
                        P = principal outstanding
                        i = annual interest rate percentage
                        n = number of years

Here is a easier to read representation:

                           i    1/6
                   ( 1 +  --- )       -   1
Pmt = Principal x  ------------------------
                                i   1/6    -12 x n
                   1 -  [ (1 + --- )     ] 

Or to convert Canadian interest rates to US interest rates:

                           Can. Rate  1/6
US Rate =  1200 x [ ( 1 +  --------- )     - 1 ]

or as a formula, US Rate = 1200 * ((1 + Can.Rate/200)^(1/6) - 1)