Methodology

How we calculate

Every calculator on this site uses the same engine. Here is exactly what it does, what it leaves out, and why your lender's numbers may differ by a few dollars.

The monthly payment

For a balance B, monthly rate r (annual rate ÷ 12) and n payments, the level principal-and-interest payment is:

M = B · r · (1 + r)ⁿ ÷ ((1 + r)ⁿ − 1)

We round M to the nearest cent. At 0% interest the payment is simply B ÷ n, rounded up to the cent.

Each month

  1. Interest = balance × r, rounded to the cent.
  2. The scheduled payment pays that interest first. The rest is principal.
  3. Extra payments made that month then reduce the balance further. They lower interest from the next month, because interest for the current month has already accrued.
  4. The last payment is only what's needed to clear the balance, so it's usually a little smaller.

Because we round every month like a servicer, totals can differ by a few dollars from calculators that use the unrounded formula. Example: $200,000 at 6.5% for 30 years is $1,264.14 a month. The unrounded formula gives $255,088.98 of total interest; rounding monthly gives $255,085.82 with a final payment of $1,259.56.

Starting from today's balance

You can start any schedule from what you owe now. If you give the time left, we calculate the payment. If you give your payment, we calculate how many payments are left. Your real payment may include escrow for property taxes and insurance; only enter principal and interest.

The crossover point

The crossover is the first payment where the principal part is at least as large as the interest part. We find it by walking the schedule month by month. The closed-form shortcut, for a fixed-rate loan with original balance B₀, is k = ln(M ÷ (2(M − r·B₀))) ÷ ln(1 + r), rounded up; the crossover is payment k + 1.

Rate changes

When a rate changes (for example on an adjustable-rate mortgage), US loans normally re-amortize: the payment is recalculated so the loan still ends on its original date. The engine does this by default. It can instead keep the payment and move the end date, which is how some lenders outside the US handle rate changes.

Rate changes in the extra payment calculator

When you add rate changes, "My payment is recalculated" works out a new payment at each change over the months left, like most adjustable-rate mortgages. "My payment stays the same" keeps the payment and lets the payoff date move, raising the payment only if it would stop covering the interest. The "no extra payments" comparison uses the same rate changes, so the interest saved is the effect of your extra payments alone.

The amortization schedule and "where you are today"

When the first payment month is in the past, the amortization schedule assumes every payment so far was made on time and in full, and counts this month's payment as made. An extra monthly payment on a loan that has already started begins next month. Your statement balance can differ if past payments were early, late or extra.

Adjustable-rate mortgages

The ARM calculator keeps the starting rate for the fixed period, then at each adjustment moves the rate toward the rate you expect, by no more than the first cap at the first adjustment and the periodic cap after that. It never goes more than the lifetime cap above the starting rate, or below the margin. After every change the payment is recalculated on the remaining balance so the loan still ends on schedule. The worst case moves the rate up by the full cap at every adjustment until it reaches the lifetime cap.

Mortgage-free by a chosen date

In the extra payment calculator's "Be mortgage-free by" mode, we search for the smallest whole-cent monthly extra, starting with your next payment, that pays the loan off in or before the month you pick. Any yearly extra or lump sum you add is included first. Because paying more never makes a loan end later, a binary search finds the exact amount.

UK mortgages

The UK calculators use the same engine in pence. Many UK lenders charge interest daily rather than monthly; over a year the difference against monthly charging is a few pounds on a typical mortgage, so the figures are close but not identical to your statement. The overpayment calculator splits the schedule into twelve-month deal years from your next payment up to your deal end, compares the overpayments in each year with the allowance (a percentage of the balance at the start of that year, or of the original loan, as your deal says), and charges the early repayment charge percentage on the excess. When a fixed rate ends, the payment is recalculated so the balance owed then is repaid over the months left, which is what lenders do; the follow-on rates you enter are assumptions, not forecasts.

German mortgages

The German calculators use the same engine in euro cents. A German repayment loan (Annuitätendarlehen) is set by a nominal rate (Sollzins) and an initial repayment rate (anfänglicher Tilgungssatz) rather than a term: the fixed monthly payment (Rate) is the loan times the sum of the two, divided by twelve, and the schedule runs to zero from there. The balance left at the end of the fixed-interest period (Zinsbindung) is the Restschuld. The Sondertilgung calculator checks yearly extra repayments against a penalty-free allowance (often a share of the original loan); a Vorfälligkeitsentschädigung above it is not a flat percentage, so we flag the excess rather than pricing it. German lenders usually charge interest daily, so figures are close but not identical to a statement.

What we don't model

  • Escrow: property taxes, homeowners insurance and HOA dues.
  • PMI or FHA mortgage insurance premiums, except in the PMI removal calculator, which counts the monthly premium you enter.
  • Daily interest accrual or payment-date effects. Most US mortgages charge interest monthly.
  • Late fees, missed payments and forbearance.
  • Your lender's own rounding, if it differs from rounding to the nearest cent.

How we test it

The engine has an automated test suite that runs on every change. It checks published payment figures ($200,000 at 6.5%/30 years = $1,264.14; $300,000 at 7%/30 years = $1,995.91; $100,000 at 5%/15 years = $790.79), that principal repaid always equals the loan to the cent, that each row balances, and that extra payments, rate changes and invalid inputs behave as described above.

Changelog

  • : first release. Extra payment calculator and principal vs interest crossover calculator.
  • : added pay extra vs invest, PMI removal, mortgage recast, refinance break-even, biweekly and 15 vs 30 year calculators, and the "Be mortgage-free by" mode on the extra payment calculator.
  • : added the ARM calculator.
  • : added the amortization schedule calculator, rate changes in the extra payment calculator, and the mortgage crossover study.
  • : added "Ask an AI about these results" to every calculator, plus Markdown copies of each page and an llms.txt index for AI tools.
  • : added the UK calculators (mortgage overpayment with the allowance and early repayment charge check, fixed rate ending) and three UK guides.
  • : added the German calculators (Tilgungsrechner, Sondertilgungsrechner, Anschlussfinanzierungs-Rechner) and three German guides.