Methodology

The formulas, shown in full

Written and maintained by Moh Bami in Tampa, Florida. Every number this site prints comes out of the functions below. Nothing is rounded before it is displayed, and no figure is typed by hand anywhere on the site.

Notation

B0  current unpaid principal balance, before the curtailment
r   annual nominal rate as a decimal (0.065 for 6.5%)
i   monthly periodic rate, r / 12
n   remaining scheduled payments
C   curtailment — the lump sum
P0  current monthly principal and interest, excluding escrow

A curtailment is a lump-sum payment applied to principal. Re-amortization is recalculating the payment so the smaller balance still retires on the original maturity date. A recast is both.

Remaining term from a payment

n = -ln(1 - B0 · i / P0) / ln(1 + i)
The guard

If P0 <= B0 · i the payment does not cover one month’s interest, the logarithm’s argument is zero or negative, and the loan never amortizes. The function throws, and the interface says: “That payment is lower than the monthly interest on that balance. Check the numbers.” It does not silently return NaN, and it does not print a figure.

The recast

B1 = B0 - C

P1 = B1 · i / (1 - (1+i)^-n)     when i > 0
P1 = B1 / n                       when i = 0

The rate and the remaining term are the ones on the note. The maturity date does not move — that is the whole difference between a recast and a refinance.

The identity

P1 = P0 · (B1 / B0)

This is exact, not an approximation: payment is linear in balance when the rate and remaining term are fixed. On the canonical case a 13.1% cut in balance is exactly a 13.1% cut in payment, and both routes agree to the cent at $2,195.81. The site computes both and asserts they match.

The recast fee is never capitalized. It is not subtracted from B1 anywhere in the code, and it never appears in the amortization schedule.

The counterfactual that decides it

n' = -ln(1 - B1 · i / P0) / ln(1 + i)

interest, recast     P1 · n  - B1
interest, no recast  P0 · n' - B1

Pay the same lump sum and keep the payment where it is. The term shortens instead. This is the option every calculator in this niche leaves out, and it is almost always the cheapest one.

Refinancing, both ways

costs rolled in    Bref = B1 + K
costs paid cash    Bref = B1, and K is added to lifetime cost separately

Pref = Bref · iNew / (1 - (1+iNew)^-nNew)
break-even vs recast = K / (P1 - Pref), when positive

Both variants are modelled because they produce different lifetime numbers and the difference is not small. The refinance rate is an assumption, labelled as one, and editable.

The fee break-even

breakEvenMonths = fee / (P0 - P1)

Guarded against division by zero: where the payment does not actually fall, the figure is reported as “—” rather than as infinity.

The canonical worked example

$400k at 6.5%, 4 years in, $50k lump. Balance before the curtailment $380,238, 312 payments remaining. Every unit test on this site checks against these figures.

OptionPaymentRemaining termRemaining interest
Do nothing$2,528.27312 months$408,583
Recast$2,195.81312 months$354,855
Lump sum, no recast$2,528.27227.6 months$245,120
Refinance, 6.5% / 30 yr$2,125.25360 months$428,853

Recasting costs $109,736 more in total interest than paying the same lump sum and keeping the payment, and pays the loan off 84 months later. It buys $332.46 a month of cash flow.

How the servicer data is sourced

Open data debt
Servicers on file24
With the exact document URL recorded2
Document named, link to the servicer’s domain only17
Publishing no policy at all5
Carrying an unverified figure2

2 of 24 rows carry the exact document URL. For the rest the document is named in words and the link goes to the servicer’s own domain. A deep path that 404s would be worse than naming the document, and recording those URLs is the top maintenance task on this site.

What this site does not do

Review cadence

Quarterly, and on any published fee-schedule change. The whole table was last checked on 27 August 2026. If a figure here is wrong, send the document and it will be corrected and re-dated.