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
- Interest = balance × r, rounded to the cent.
- The scheduled payment pays that interest first. The rest is principal.
- 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.
- 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.
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.