Skip to main content

Free Loan & Mortgage Calculator

Calculate monthly payments, total interest, and view a full amortization schedule for any loan or mortgage. Supports any term and interest rate.

Works offline once loaded
%
Loan term
Repayment
Monthly payment
$1,896.20
$682,633.47
Total payment
$382,633.47
Total interest
Principal 44%Interest 56%

Educational estimate only. Does not include property taxes, homeowners insurance, PMI, origination fees, or other costs. Actual loan terms and total costs will vary. Consult a licensed financial professional before making borrowing decisions.

Common uses

  • Mortgage Payment CalculatorCalculate your monthly mortgage payment, total interest, and see an amortization schedule for your home loan.
  • Car Loan Payment CalculatorCalculate monthly payments and total cost for an auto loan. Compare different term lengths and down payment scenarios.
  • Personal Loan CalculatorWork out monthly payments and total cost for a personal loan. Great for debt consolidation, home improvement, or large purchases.
  • Student Loan Repayment CalculatorCalculate monthly repayments and total interest for student loans. Compare standard vs extended repayment plans.
  • Business Loan Payment CalculatorEstimate monthly repayments and total financing costs for small business loans, SBA loans, and business lines of credit.

How It Works

All calculations run directly in your browser using a hand-written implementation of the standard amortization formula — no server, no third-party library. Enter a loan amount, interest rate, and term, and every number updates instantly as you type.

  1. 1
    Amortization formula applied
    The core function computes the fixed monthly payment using the closed-form amortization equation: P × (r × (1+r)^n) / ((1+r)^n − 1), where r is the monthly rate and n is the total number of payments. A zero-rate path (interest-free loan) is handled separately as a simple division.
  2. 2
    Month-by-month schedule built
    Starting from the full principal, the tool steps through every payment period: it multiplies the running balance by the monthly rate to get that month's interest charge, subtracts it from the fixed payment to find how much reduces principal, and updates the balance. Yearly snapshots from this loop populate the on-screen amortization table.
  3. 3
    Early-payoff simulation
    If you enter an optional extra monthly payment, a second loop replays the same balance-reduction logic with the higher payment amount, counting how many months it takes to reach zero. The difference from the original term gives you months saved and interest avoided.
  4. 4
    Locale-aware formatting and CSV export
    Amounts are formatted using the browser's built-in Intl.NumberFormat API, adapting decimal and grouping separators to your locale. The full month-by-month schedule can be downloaded as a CSV file assembled in memory using the Blob API — no server round-trip required.

Loan figures you enter never leave your device — all arithmetic and the CSV export run locally in the browser with no data sent to any server.

Guide

Worked example

The page opens with "Loan amount" 300000 in US dollars, "Annual interest rate" 6.5 % and the 30yr term selected, and already shows "Monthly payment" $1,896.20, "Total payment" $682,633.47 and "Total interest" $382,633.47, with the bar reading "Principal 44%" and "Interest 56%". Type 200 in "Extra monthly payment (optional)" and a line appears: "Extra payments pay the loan off 6 yr 11 mo sooner and save $103,448.79 in interest." Press "▼ Show amortization schedule" and Year 1 reads Payment $22,754.45, Principal $3,353.18, Interest $19,401.27 and Balance $296,646.82. Now switch "Repayment" to "Equal principal". The headline becomes "First monthly payment" $2,458.33, with "Falls by $4.51 each month, to $837.85 for the last payment." Total interest drops to $293,312.50.

Which settings to use, and the limits

  • Choose the term in years or months. Next to "Loan term" are two buttons, "Years" and "Months". Pressing the other one converts the number already in the box, so 30 years becomes 360 months. The preset buttons are 5yr, 10yr, 15yr, 20yr and 30yr, or 12mo, 24mo, 36mo, 48mo and 60mo, and the small box beside them takes any other value. Fractions are rounded to whole months, so 2.5 years is 30 months. The longest term the tool accepts is 1,200 months, which is 100 years. For a car loan of 18 months, switch to "Months" and type 18.
  • Type numbers the way you normally write them. The amount, rate, term and extra payment accept 300000, 300,000, 300.000, 300 000 and 300.000,50. A decimal comma works too, so 6,5 is 6.5 percent, and Arabic-Indic digits are converted. Do not type currency symbols, percent signs or letters: "$300000" and "300k" cannot be read. The currency menu has 23 codes, from USD, EUR and GBP to JPY, INR and NGN. It only changes how money is shown and does not convert anything. Amounts always show two decimals, even for currencies such as JPY that normally have none.
  • Pick the repayment style that matches your loan. "Equal payments" is the usual mortgage or car-loan arrangement, with the same payment every month. "Equal principal" repays the same slice of the loan each month plus that month's interest, so the payment starts high and falls. In this style the headline is labelled "First monthly payment" and a line states how much it falls each month. On the default loan, equal principal costs $293,312.50 in interest against $382,633.47, but the early payments are about $560 higher. Use the one your lender's contract names.
  • Use the extra payment box to see an early payoff. "Extra monthly payment (optional)" adds the amount to every payment from month 1 until the loan is cleared. The green line shows how much sooner you finish and how much interest you save. It appears only when at least a month or $1 of interest is saved. The three headline figures stay as they are for the loan without extra payments. The yearly table, the CSV and the payoff line include the extra payment. The extra amount must be above 0, and an empty box means none.
  • Read the yearly table, or download every month. "▼ Show amortization schedule" lists one row per loan year, which is 12 payments, with Payment, Principal, Interest and the Balance at the year end. The balance in the last row is 0. "Download CSV" saves every month instead, with columns Month, Payment, Principal, Interest and Balance and a final "Total" row. The default loan is saved as loan-300000-6.5-30y.csv. For a language that uses a decimal comma, the file uses semicolons between columns so a spreadsheet opens it correctly.
  • Send the exact figures with "Share result". Once you change any input, the page address gains a part after # that holds the amount, rate, term, unit, extra payment, currency and repayment style. Defaults are left out, apart from the currency. "Share result" copies that link, or opens the share sheet on a phone. Whoever opens it sees your numbers in the boxes, and the figures are calculated on their device. The link shows your loan figures to anyone you send it to, so share it only with people you trust with them.

Common problems and how to fix them

It says "Enter a loan amount above 0, a rate of 0% or more, and a term to see a payment. A 0% rate simply divides the amount evenly across the term."
One of the three inputs cannot be used. The amount must be above 0, the rate cannot be negative, and the term must round to at least 1 month and no more than 1,200 months. Text that is not a number, such as "$300000", "300k" or "1e5", also counts. A term of 0.04 years rounds to 0 months and is refused. A rate of 0 is allowed and gives equal slices. Correct the box that is wrong and the results return at once.
The results disappear and no message appears.
The warning is shown only when "Loan amount", "Annual interest rate" and the term box are all filled in. If you cleared one of them, the tool waits for a value and shows neither results nor a message. Type a number in the empty box. Only "Extra monthly payment (optional)" may stay empty.
The extra payment has no effect and no payoff line appears.
The extra payment must be a plain number above 0. A value such as "$200" or "200 USD" cannot be read, and the tool then treats it as no extra payment without a message. Type 200. If the number is valid but small, the green line stays hidden until the loan finishes at least a month sooner or saves at least $1. The "Monthly payment", "Total payment" and "Total interest" figures never include the extra payment, but the table and the CSV do.
The payment is lower than my lender's quote.
This tool works out principal and interest only, as its note says: it "Does not include property taxes, homeowners insurance, PMI, origination fees, or other costs." It applies the annual rate divided by 12 each month, with equal months from the first payment. A lender may add fees, insurance or a different rate to the quote, so ask for a breakdown. Also check that "Repayment" matches your contract, because "Equal principal" starts higher than "Equal payments".

How it compares

A bank's own calculator or a spreadsheet PMT formula will give the same payment for a plain fixed-rate loan, because this tool uses the standard monthly formula. What it does not do is model a variable rate, fees, taxes, insurance, a balloon payment or lump sums paid on a chosen date. The extra payment is one fixed amount added to every month, and the schedule does not round each payment to a cent, so a lender's statement can differ by a few cents in the totals. The page is an educational estimate. In exchange you get both repayment styles, a CSV of every month and a shareable link, with nothing to install.

Related Tools

Frequently Asked Questions