Fee-adjusted APR explained
A loan has two rates on this site. The note rate is the one you type in; the payment is computed from it. The annual percentage rate is the one the APR Calculator works out from the note rate, the term and the upfront fees you enter. Both come from one small engine function, and this guide walks through what it does with your numbers — how it builds the payment, what it subtracts, what it searches for, and where its arithmetic stops. Every figure below was computed by the engine when this page was built, on invented inputs chosen for illustration: none is a quote, a typical rate or a market figure. The guides index covers the rest of the engine.
Two rates, one loan
The note rate is the annual rate the payment is computed from, divided by twelve and applied to the outstanding balance each month — the standard amortized-loan (PMT) formula with monthly compounding, which the methodology page describes as the convention behind US mortgages and most consumer loans. It reproduces the reference figure quoted there: a $200,000 loan at 6% over 30 years gives a payment of $1,199.10.
The fee-adjusted figure is defined in the header of the engine function itself: the payment is computed on the full principal at the note rate, but the borrower effectively receives principal minus fees, and the APR is the annual rate that discounts those payments back to the net amount received.
The worked example, step by step
The fictional loan used throughout this page is $240,000 at a 6.75% note rate over 30 years, with $4,800 of upfront fees — 2% of the principal. Every input is invented; change any of them in the calculator and every output below changes with it.
Step 1: the payment at the note rate
The engine calls its ordinary payment function on the full $240,000 at 6.75% over 360 months and gets $1,556.64 per month. Over the month-by-month schedule those payments add up to $560,389, of which $320,389 is interest. The fees do not touch this step.
Step 2: the net amount received
The engine subtracts the fees from the principal: $240,000 less $4,800 is $235,200, the value the code names the net amount received. This is the only place the fees enter the arithmetic: they are not added to the payments or the interest total, and not spread over the term; they reduce the amount the 360 payments are measured against.
Step 3: the rate that reconciles them
The engine then asks one question: at what annual rate, compounded monthly, is a stream of 360 payments of $1,556.64 worth exactly $235,200 today? The answer for the example is 6.95%, 0.20 percentage points above the 6.75% note rate. The result carries three fields: the payment from step 1, the solved APR, and the fee total echoed back as entered — $4,800 here.
A direct check: feed the net amount and the solved APR back into the ordinary payment function — $235,200 at 6.95% over 30 years — and it returns $1,556.64, the same payment to the cent. The APR is the rate at which the money you received would have produced the payments you are making.
How the engine finds the rate
The payment formula has no rearrangement that solves for the rate, so the engine searches for it by bisection. The present value of a fixed stream of payments falls as the discount rate rises — it is strictly decreasing in the rate — so convergence is guaranteed. The search starts with an interval from a zero monthly rate up to an upper bound the code's own comment calls far beyond any real loan. At each step it computes the present value at the midpoint: above the net amount received means the rate is too low and the lower end moves up; below means the upper end moves down. After a fixed number of steps the midpoint of the final interval, multiplied by twelve and expressed as a percentage, is the APR on screen.
At a trial rate of zero the present value is simply the payments added together — $560,389 for the example, far more than the $235,200 received — so zero is always too low, and the search settles above zero whenever the fees are above zero. With the fees field at $0 the net amount received is the full $240,000, the present value at the note rate is exactly the principal, and the search closes on the note rate: 6.75% for the example loan. The automated test suite holds both cases.
What moves the gap: fees and term
Two inputs set how far the APR sits above the note rate. The first is the size of the fee relative to the loan: the table holds the loan, rate and term fixed and steps the fee total up, one engine call per row.
| Fees entered | Net received | Monthly payment | APR | Above note rate |
|---|---|---|---|---|
| $0 | $240,000 | $1,556.64 | 6.75% | 0.00 pts |
| $2,400 | $237,600 | $1,556.64 | 6.85% | 0.10 pts |
| $4,800 | $235,200 | $1,556.64 | 6.95% | 0.20 pts |
| $7,200 | $232,800 | $1,556.64 | 7.05% | 0.30 pts |
| $9,600 | $230,400 | $1,556.64 | 7.15% | 0.40 pts |
The payment column does not move, because the fees never enter the payment; only the net amount received shrinks, and the solved rate rises to match. The second input is the term, with the loan, rate and fee fixed at $240,000, 6.75% and $4,800.
| Term | Payments | Monthly payment | APR | Above note rate |
|---|---|---|---|---|
| 10 years | 120 | $2,755.78 | 7.20% | 0.45 pts |
| 15 years | 180 | $2,123.78 | 7.07% | 0.32 pts |
| 20 years | 240 | $1,824.87 | 7.01% | 0.26 pts |
| 30 years | 360 | $1,556.64 | 6.95% | 0.20 pts |
The same $4,800 produces 7.20% over ten years and 6.95% over thirty. The fee is a fixed amount, and the discounting spreads its effect across every scheduled payment; the fewer payments, the larger the share each carries and the larger the annual rate needed to reconcile them.
A 0% loan still has an APR
The clearest view of the figure is a second fictional loan with no interest at all: $12,000 at a 0% note rate over 5 years, with $600 of fees. At a zero rate the payment function divides the principal evenly across the term, so each of the 60 payments is $200.00. The net amount received is $11,400, and the rate that discounts 60 payments of $200.00 back to $11,400 is 2.04%. No interest is charged on this loan; the APR is non-zero because the fee is. That is the whole content of the figure: an upfront charge restated as an annual rate.
How to read the output
The result box shows five lines, each formatted from the engine's result without further arithmetic:
- The large "% APR" figure is the solved rate, shown to at most two decimals. It is never below the note rate: equal when the fees are zero, higher as the fees rise or the term shortens.
- Note (quoted) rate and Upfront fees are your inputs echoed back, the fees in whole dollars.
- Monthly payment is the ordinary amortized payment on the full loan at the note rate — $1,556.64 for the example. The fees field does not change it.
- What the APR tells you is the APR minus the note rate in percentage points — 0.20 for the example: a difference between two rates on the same loan, not a rate of its own.
Errors are explicit rather than numeric: the loan amount must be greater than zero, the fees cannot be negative, and fees that reach the loan amount are refused with the engine's own message — "Fees must be less than the loan amount."
Where the arithmetic stops
The engine takes one number for fees and does not decide which charges belong in it. A lender's formal APR disclosure may be computed on a different set of charges; where the two figures differ for that reason, the disclosure describes the loan and this figure describes your inputs. The discounting uses every scheduled payment to the end of the term — a loan paid off earlier is a different calculation this function does not perform. The payment it starts from is the fixed-rate, fully amortizing payment, and the methodology page's limit applies in full: the calculators do not model adjustable-rate mortgages, interest-only periods, balloon payments, or negative amortization.
Common misreadings
"The APR is a second interest rate the loan charges." It is not. Interest accrues at the note rate on the balance each month; the APR restates the fees as a rate after the payment is fixed.
"A higher APR means a higher payment." Not between loans with the same principal, note rate and term: the fee ladder has one payment, $1,556.64, in every row.
"The fees are added to the total interest." In this engine they are subtracted from the amount received, not added to anything. The interest total for the example loan is $320,389 with or without the $4,800 of fees; what changes is the $235,200 the payments are measured against.
Frequently asked questions
Why is the APR higher than the interest rate I entered?
Because the fees reduce what you received without reducing the payments. The payment is computed on the full loan at the note rate; the engine treats the amount received as the loan minus the fees and solves for the rate that reconciles the two. Whenever the fees are above zero, that rate is above the note rate — 6.95% against 6.75% in the example on this page.
Does the APR change my monthly payment?
No. The payment is computed once, on the full principal at the note rate, and the APR is solved from it afterwards. For the example loan the payment is $1,556.64 whether the fees field holds $0 or $4,800; only the APR moves.
What happens if I enter zero fees?
The net amount received equals the loan amount, the present value of the payments at the note rate equals that amount exactly, and the search settles on the note rate itself: 6.75% for the example loan.
Why does the same fee produce a higher APR on a shorter loan?
The fee is one fixed amount spread across every scheduled payment. Fewer payments means each carries a larger share, so the reconciling rate is higher: 7.20% over ten years against 6.95% over thirty for $4,800 of fees at the same 6.75% note rate.
Which fees does the calculator count?
Whatever total you enter in the fees field; the engine does not decide which charges belong in it, and a lender's formal APR disclosure may be computed on a different set of charges.
Why might a lender's APR differ from this one?
A different fee total changes the net amount received and so the solved rate. Separately, the engine keeps full precision internally and rounds only on screen, so a lender's figure may differ by a few cents depending on their rounding and day-count conventions — the difference is presentational, not an error.
Related tools and guides
- APR Calculator — your own inputs through the function described here.
- Loan Calculator — the step 1 payment with its totals.
- How the monthly payment formula works — the PMT formula that step 1 calls.
- How Amortization Works — the schedule the payment runs through.
- All guides and the methodology page.
Not financial advice: the calculator models the arithmetic; it does not know your lender's terms. The APR here is the rate that reconciles the inputs you entered; a lender's figure may differ by a few cents depending on their rounding and day-count conventions — the difference is presentational, not an error. Values are processed locally in your browser and never transmitted. See the methodology page and the full list of guides.