Accurate Mortgage Calculator

Create a printable fixed-rate mortgage schedule with down payment, points, & dates

How do I use the mortgage calculator?

  1. Enter the Price of Real Estate
  2. Enter the Down Payment Percent or Down Payment Amount.
  3. Set Mortgage Loan Amount to 0 (if unknown).
  4. Enter the expected Number of Payments.
  5. Enter the anticipated Annual Interest Rate.
  6. Set Mortgage Payment (P & I only) to 0 (if unknown).
  7. Optionally set the Mortgage Closing Date
  8. Optionally set the First Payment Due Date
  9. Optionally enter Points
  10. Click either Calc or Pmt & Cost Schedules for the answers.

That's it! That's how to calculate a fixed-rate mortgage payment.

But there's a lot more you can learn from this mortgage calculator.

Details are below

© 2022, Pine Grove Software, LLC
$ : mm/dd/yyyy


Original Size
Click to make smaller (-) or larger (+).

Recent changes and enhancements — Nov. 2023

  • Export schedule data to Excel/xlsx file. Click on "Amortization & Cost Schedules" then "Continue" or "Skip" past the title page.
  • Save schedules to Word/docx file. Saving to a .docx gives you the opportunity to alter the style of the schedule, to add notes, or incorporate the schedule into a report.

IMPORTANT - Always enter (and reenter) a 0 if you want a value calculated.

Why doesn't the calculator automatically recalculate the last unknown?

We want the calculator to create a payment schedule using whatever parameters you want to use. Such behavior is a feature!

By not automatically recalculating the payment (for example) when the mortgage amount changes, this calculator lets those users create a payment schedule with whatever payment amount they want. (If you provide the payment amount, you'll typically want to set the "Number of Payments" to "0.")

Notes about this calculator

Found on the "Set Dates or XPmts" tab:

  • Mortgage Closing Date - also called the loan origination date or start date.
  • First Payment Due - due date for the first payment

About Dates & Interest Calculations - In the real world, the time between the mortgage origination date and the first payment due date will seldom be equal to the payment frequency.

Your mortgage can require monthly payments, but in reality, you might go to the closing on July 15, and the first payment might not be due until September 1. Such a scenario leads to what is commonly called a "long initial period" and "odd days interest." (Had the first payment been due on August 1, then the first period would be called an "initial short period.")

Long and short first periods impact interest and payment calculations.

By giving users the ability to enter these two dates, this calculator can do penny perfect calculations.

This will result in payment amounts and interest charges that do not match other calculators.

And that's the point! You do not need to settle for estimates.

If you are satisfied with approximations, however, or you want to match other calculators, then set the "Mortgage Closing Date" and "First Payment Date" so that the time between them equals one full period as selected in "Payment Frequency." Example: If the "Mortgage Date" is July 15 and the "Payment Frequency" is "Monthly," then the "First Payment Date" should be set to August 15.

More details about the available calculation options for odd day and irregular period interest.

There are only six values you will usually need to set.

Found on the "Calculator" tab:

  • Price of Real Estate or Asset - the negotiated purchase price. This is optional. Enter a zero to calculate.
  • Down Payment Percent - the anticipated down payment expressed as a percent of the purchase price. (optional)
  • Down Payment Amount - the anticipated down payment expressed as an amount. (optional)
  • Mortgage Loan Amount - the amount of the mortgage loan. This, too, is optional. Enter a zero to calculate.

You may:

  • Enter the real estate price and the down payment to calculate the mortgage amount.
  • Enter the mortgage amount and down payment to calculate the affordable real estate amount.
  • Or enter the mortgage amount and zero for the down payment and price.
  • Number of Payments - the length of the loan. The "Payment Frequency" setting also impacts the loan's term. For a term of thirty years, if the payment frequency is monthly, you need to enter 360 for the number of payments. (360 monthly payments = 30 year mortgage)
  • Annual Interest Rate - the nominal interest rate. This the quoted interest rate for the mortgage.
  • Mortgage Payment (P & I only) - the amount due on each payment due date. The amount includes only principal and interest. Do not include any additional amounts for property taxes or insurance preimiums if you enter a value.

If the Mortgage Loan Amount is either set or calculated off the real estate price, then one of the above three can be set to zero so that the calculator can calculate it.

required inputs
Only three inputs are required to calculate a monthly payment amount.

Mortgage options you may want to tweak:

  • Payment Frequency - set how often payments are scheduled. The calculator supports 11 options, including biweekly (every other week), monthly, and annually. The schedule calculates the payment due dates from the first payment due date (not the mortgage closing date).
  • Compounding - usually, you should set the compounding frequency to be the same frequency as the payment frequency. Doing so results in simple, periodic interest. Setting this option to "Exact/Simple" results in simple, exact day interest.
  • Days-Per-Year - 360/364/365 days per year option. This setting, also known as the day count convention, only impacts interest calculations when you set compounding frequency to a day based frequency (daily, exact/simple or continuous) or when there are odd days caused by an initial short or long period.
  • Calc. & Include APR on Schedule - when "Yes," the mortgage schedule shows in a Regulation Z compliant format, the APR.

Found on the "Options" tab:

  • Points - (sometimes called discount points) calculated using the loan amount, they are reported in the first row of the schedule. One point is one percent of the mortgage loan amount. Points, by themselves, increases the APR. However, borrowers pay mortgage points in order to obtain a lower interest rate. The combination of points and the lower rate should result in an overall lower APR. Check the APR option to find out. (optional)

Mortgage amortization schedule

We learn from the financial dictionary that mortgage amortization "is the gradual repayment of a debt over a period of time, such as monthly payments on a mortgage loan or credit card balance. To amortize a mortgage, your payments must be large enough to pay not only the interest that has accrued but also to reduce the principal you owe."

A mortgage amortization schedule is a report showing the loan payments paid or due. The report provides details about how much of the payment the lender is allocating to principal and interest. The payment date due and the balance are frequently included in the schedule as well.

mortgage amortization schedule
First year of a mortgage schedule with annual & running totals.

If the amount paid on the mortgage is not large enough to cover the interest due, then the mortgage balance will be increasing due to the unpaid interest. When a loan has an increasing balance, it is known as negative amortization — which this calculator supports. (Read more about negative amortization here.)

Options that impact the payment report

Found on the "Set Dates or XPmts" tab:

More details about the available calculation options for odd day and irregular period interest.

  • Amortization Method - leave this setting set to "normal" unless you have a specific reason for setting it otherwise. For a complete explanation of these options, see Nine Loan Amortization Methods.
  • Days-Per-Year - see above.
  • Fiscal Year-End for Report Totals - this setting establishes after what month the calculator shows year-end and running totals. This option is to accommodate businesses with fiscal year ends that do not coincide with the calendar year-end.
  • Rounding Options - due to interest and payment rounding with each payment (for example, payment or interest might calculate to 345.0457, but a schedule will need to round the value to 345.05), almost all loan schedules require a final rounding adjustment to bring the balance to "0". A footnote on the payment schedule informs you of the rounding amount.

How do I calculate a mortgage with a balloon?

Because the mortgage calculator will use the values you enter (and not force a recalculation), it is easy to create a mortgage payment schedule with a final balloon payment. For example:

  • Assume a mortgage of $400,000.
  • Assume a payment amount using a 30-year term.
  • Assume an annual interest rate of 3.0%.
  • The monthly periodic principal and interest payment is $1,686.42.
  • If the balloon payment is due in 5 years, change the number of payments to 60.
  • Click on the "Amortization & Cost Schedules" button.
  • The 60th payment shows a balloon due of $357,311.
mortgage calculator with escrow and PMI
Mortgage payment schedule showing balloon payment due after 5 years.

Mortgage with PMI and taxes

If you do not have a down payment that equals at least 20% of the home's purchase price, then the mortgage issuer will likely require you to pay mortgage insurance. PMI (private mortgage insurance) protects the lender in the event of a default. The lender gets paid when the borrower can't pay.

Though the lender is the party that collects on the insurance, should there be a default, the borrower pays the insurance premium. The insurance amount the borrower pays depends on the size of the mortgage and the down payment provided. The larger the mortgage and the less money put down, the higher the PMI rate. PMI rates range from 0.5% to 1.5%.

The annual PMI premium equals the PMI rate from the tables times the loan amount. However, the PMI premium is collected monthly, so the calculator divides the calculated premium by 12 (or the number of payments per year) to arrive at the monthly premium due.

You can look up PMI rates in each provider's rate tables. But note, the rate tables won't ask you about the down payment amount. The tables use a value known as your LTV number. LTV or loan to value is the ratio of the mortgage loan amount to the price of the property.

If the house sells for $400,000 and you put down $40,000, leaving a loan balance of 360,000, your LTV is 90% (360,000/400,000). This calculator calculates the LTV for you.

mortgage calculator with escrow and PMI
Mortgage payment schedule showing escrow and PMI payment amounts

While PMI certainly adds to the borrower's cost, the good news is, you do not have to pay PMI premiums for the entire mortgage term. Once you've built up equity and your LTV drops below 80%, PMI premiums stop. See SFGate's guide for additional details.

The payment schedule created by this calculator will show you when the PMI premiums stop.

Mortgage with extra payments

The calculator supports schedules with:

  • a specific number of additional payments; or
  • extra payments until you've paid off the loan; or
  • extra payments at a different frequency than the "regular payment" - try making two extra payments a year; or
  • additional payments on dates other than a scheduled date; or
  • a single lump-sum extra payment on any date
Mortgage schedule showing extra payments
Mortgage schedule showing extra payments.

Also, take a moment to study the mortgage payment schedule. Observe the lines where you've paid an extra amount. Notice that 100% of the amount gets applied to the principal balance. But if you are auditing your lender, they must apply the payments in the same way if you want to maximize your interest savings. Some lenders may not do this, particularly if you make the extra payment on a date other than a scheduled due date.

Interestingly, a lot of online calculators are not capable of making the correct calculation either. That's why this calculator is the real deal!

Hopefully, you'll find this to be a full-featured mortgage calculator. If something is not clear, you may leave your question in the comments below

38 Comments on “Mortgage Calculator”

Join the conversation. Tell me what you think.
  • Hello Karl,

    I tried it all again after your comments. I had missed out steps in the ‘options’ menu and when I went back and put it all in again, it worked exactly as you said.
    Thank you for your patience and responsiveness.

  • Looking to run an amortization schedule for a $50,000 10YR loan @ 3% with Bi-weekly payments of $500 on the 1st and $250 on the 15th of each month. I understand that it will pay it off much earlier, but which calculator will allow me to
    add in all the particulars?

    • Your requirement should be easily accomplished with this mortgage calculator. The way to set up your calculation isn’t obvious however.

      What you’ll need to do is something similar to this:

      Loan Amount?: $50,000
      Number of Payments? (#): 0
      Annual Interest Rate?: 3%
      Payment Amount (P & I only)?: $500
      First Payment Due?: 09/01/2019
      Payment Frequency?: Monthly

      Extra Payment Amount?: $250
      Extra Payments Start?: 09/15/2019
      Extra Payment Frequency?: Monthly
      Number of Extra Pmts? (#): Unknown

      Here’s the thinking. Though the payments happen biweekly, they are comprised of two series of staggered monthly payments. $5000 starts on the first and $250 starts on the 15th.

      Also, don’t think in terms of a 10 year term because you have already determined the payment amounts. Therefore, set the number of payments to 0 so the calculator calculates the term. If your payment amount cause the loan to run beyond 10 years, then you can redo the calculation with 120 payments and the final payment will be a larger balloon amount.

      If this doesn’t get you what you need, tell me what I’ve missed and I’m sure I can come up with something. Also, there’s another calculator on this site that is even more flexible that we can try if this doesn’t work out.

  • chuck irwin says:

    is this mortgage calculator using 360 or 365 days to calculate interest?

    • The user is in complete control. Please see:

      "Days Per Year?"

      on the "Set Dates or Extra Payments" tab.

      Yea, I know, not the most obvious location for that option. I guess I must have put it there, because that where it fit at the time.

  • Hello,

    i installed your Calculator plugins and i want to edit it to have the following:
    1. The Currency Sign: Please can Nigerian Naira be included in the Options.
    2. Can the Headings of the various items .e.g. Annual Insurance etc be edited and still function same.
    3. I have been battling to set the calculator to have a default fixed minimum Down payment percentage, that requires just the input for Number of monthly payment and Price of the Real estate.
    4. Can i hide any heading of the calculator front-end but still seeing it at the back-end with the function still intact.

    • First, thank you for considering my plugin.

      I can add Nigerian currency (I’m surprised I missed it.) Please go to this page:

      Currency and Date tests

      and copy the results you see in the two lower right corner green boxes to a reply here. I’ll try to have support by March 1.

      As to your other questions, I can’t go into details right not, but all the things are possible. The plugin includes ALL source code.

  • I have tried a few tests, and it seems that if an extra payment occurs before the first periodic payment due date, the amortization schedule displays the extra payment dollar amount in the top summary of the schedule in the line that reads: “Period Payment:” instead of the actual periodic payment dollar amount. Please test for yourself to see if you find the same. (I can fill you in on what my other fields were if that ends up being necessary.)

    • You’re right. Also, the first payment date is the extra payment date, and the top of the schedule shows the selected extra payment frequency.

      I looked into fixing this, but the calculation gets a lot more complicated if the period between the loan date and the scheduled first payment date is either a long or short first period. (You can read about irregular first periods on this page.)

      I may not support extra payments before the scheduled first payment date. Another option is to disable the long/short first-period settings when there’s an extra payment. I’ll have to see.

  • It seems some changes were made since I last contacted you. Now the calculator won’t allow an extra payment date to be before the first scheduled periodic payment date…but in our case it must be shown this way and will be shown as such for the next 8 years just as it has been for the previous seven. And in thinking of others who may use this calculator, it is highly probable that people will make an extra payment before the initial payment is due if they can. (Particularly in cases like ours where the payments are due annually.) I had not brought up the errors to make things worse. Yes, I could just reduce the total loan amount by the extra payment and consider that initial extra payment as part of the down payment, but it technically wasn’t part of the down payment. The extra payment occurred a few months after the down payment. I preferred the calculator the way it was before.

    • Yes, you are correct about the change. I decided to not allow an extra payment prior to the first payment because the math for the interest calculation can get tricky when the first period has odd days. Also, I’m not sure the best way to present the results to the user.

      Think bout this scenario. Monthly payments. Loan origination on July 15 and the first payment due on Sept. 1. This sets up a long initial period with 16 odd days. The lender might collect the interest for the initial 16 days at closing (prepaid interest) and the calculator allows for that option (setting: long period interest at origination).

      If the borrower makes an extra payment on July 25, then the odd day interest calculation is wrong. But it’s already been paid. Is a refund due? Technically yes. Should that be reflected in the schedule? That’s my dilemma.

      Rather than show an inaccurate interest amount, I restricted the feature. This seemed to be the best solution since the extra payment itself is not about a penny perfect calculation, but rather it’s about a hypothetical, and that’s particularly the case the farther along one gets in the schedule.

      That said, if you want to calculate the impact of an extra payment prior to the first payment, you can use this calculator. If you try it, scroll down the page to the tutorials. This calculator works differently than any other calculator on this site.

  • Bryan Baynes says:

    I have been using your calculator for a while and everything was working fine, but just recently I am getting two boxes out of place on the screen about 1/2 way down on the page not near your calculator which is on the bottom right of the page. I can see the code when inspecting the element.
    Not sure where to start. I don’t have this issue when using the auto loan calculator. Thanks for any help you can provide. B

    • Hi Bryan, I’m sorry you are having a problem with the calculator. I took a look though, and I can’t see any problems. I checked using Chrome on a desktop. Can you tell me what you are using? The boxes that are out of place, are they the inputs that belong in the calculator? Or some of the other boxes on the page? If you are on a desktop, can you try a “hard refresh?” On Windows you would use a Ctrl-F5.

      • Bryan says:

        I have used the Chrome version of Edge and Internet explorer. Both show this issue. I have also tried it on a few different computers all with the same result. Address is in the name. It will not show up if the screen is too small, as I remove it unless the screen is large enough to view it. I tried to include the code that was causing it in this box, but when trying to submit it, I would receive an odd error on the page.

        • I just figure out what you are talking about. I thought you were talking about the calculator on this page. But you have installed the FC Mortgage Calculator plugin on your site.

          This is the better page for reporting problems with the mortgage calculator plugin.

          In any event, I just looked at your page with Edge (current version) and I don’t see any problems.

  • Karl,
    What am I doing wrong. On the calculator, I cleared before I started, didn’t use commas or periods and put in all of the information I usually do on this same calculator, went to the second tab and put the date the mortgage began and first payment, went back and clicked calculate and print and I only got a one page print out of exactly what I put in but not the normal monthly amortization chart I have been getting for the last year. Can you think of something I left out. I love this chart. Thank you.

    • I can’t think of anything. Can you save your inputs to a file and send me the file so that I can see what’s happening? Just click on the file-Save As… feature. The email address is on the contact page.

  • Karl –
    Thank you for your prior replies. Is there any way to convert the files from the xml format to a pdf?

    • You’re welcome. I assume you want the payment schedule saved as a PDF? If so, if you are using either Chrome or Edge, they will both print to PDFs. From the print preview window that opens, click on the Print button and where you get to select your printer, click on it and PDF will be one of the options.

      Does this meet your needs?

      FYI, the XML contains your settings. YOu can drag and drop it to the web page to the area just below the calculator and the calculator will have the saved values with all options.

  • Karl –
    How can you have higher principal payments and negative interest payments so that the initial payment equals out? I believe it’s in the short period/long period interest options but I can’t get it to work out where the principal should at least be the last payment and the interest due zero. Ugh!

    • Sorry, but I’m not following you. The specifics are important. Are you using the calculator on this web page? Please save your inputs to an XML file and email it to the address on the contact page.

    • Thank you for sending your inputs. Are you asking why the balance goes negative? That’s because the principal and interest payment of 439.18 is higher than what is needed to pay the loan off in 144 periods. You can do one of two things:

      Since there is no down payment, set the Price of Real Estate or Asset to 0.0.

      and then set either the Number of Payments or Payment Amount (P & I only) to 0 to calculate. If I do that for the term, I get a new term of 112 payments. Since the term can’t be a fractional period, you might want to avoid the larger final payment and say that the term is 113 payments.

    •                          Total  *Escrow    PMI          **Tax
      #/YearDate           Payment Amount    Amount       Benefit     Interest   PrincipalBalance
      112:1001/15/2026484.3845.20     0.000.00    2.54           436.64  70.66
      113:1002/15/2026484.3845.20     0.000.00    0.35           438.83-368.17
      114:1003/15/2026484.3845.20        0.000.00   -1.84   441.02-809.19
      115:1004/15/2026484.3845.20     0.000.00   -4.05   443.23     -1,252.42

      You had asked about the negative interest amounts. Negative interest happens when the balance goes below 0. The borrower will not owe interest on a negative balance. In theory, the original lender would owe the original borrower interest. Thus the negative interest.

      The point is, this calculator will use the inputs a user enters to generate the amortization schedule. For your example, either the payment amount is too large, or the term is too long. One or both need to be adjusted. If the payment amount can’t or should not be changed, then I would suggest solving for the number of payments.

Comments, suggestions & questions welcomed...

Your email address is not published. I use it only to notify you of a reply.

Let me know if you have a website. I might like to visit it.

* Required