Money & shopping

TVM calculator (time value of money)

Solve for any one of the number of payments, interest rate, present value, payment or future value, with payment timing, compounding, a balance chart and a downloadable schedule.

TVM calculator (time value of money)
Esc to restore

Your inputs

The other four amounts below are used; the box for the one you solve for is ignored.

A whole number of payments, such as 360 for 30 years of monthly payments. Ignored when solving for N.

The nominal annual rate, compounded C/Y times a year. Ignored when solving for I/Y.

Money at the start. Positive if you receive it (a loan), negative if you pay it (a deposit). Ignored when solving for PV.

Negative if you pay it, positive if you receive it. Ignored when solving for PMT.

The amount left after the last payment: 0 for a loan that is paid off. Ignored when solving for FV.

12 for monthly, 4 for quarterly, 1 for yearly.

Equal to P/Y for most loans. If it differs, the rate is converted to an equivalent rate per payment period.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded, and nothing is saved unless you choose “Save result”.

A clear answer. Here’s how.

Solves PV (1 + i)^N + PMT (1 + i k) ((1 + i)^N - 1) / i + FV = 0 for whichever one of N, I/Y, PV, PMT or FV you choose, given the other four. i is the rate for one payment period and k is 0 when payments fall at the end of each period and 1 when they fall at the start. Money you pay out is negative and money you receive is positive, as in Excel, spreadsheets and financial calculators: a loan you receive has a positive PV and its payments are negative. The balance in the table carries the sign of PV and ends at minus FV. The nominal rate I/Y compounds C/Y times a year while payments are made P/Y times a year, so i = (1 + I/Y / C/Y)^(C/Y / P/Y) - 1, which is I/Y / P/Y when the two are equal; this is how calculator.net and financial calculators convert the rate. PV, PMT, FV and N are solved in closed form, with the zero-rate limits PMT = -(PV + FV) / N and N = -(PV + FV) / PMT; the formulas use expm1 and log1p so small rates keep their digits. N = ln((PMT (1 + i k) - FV i) / (PMT (1 + i k) + PV i)) / ln(1 + i) is usually not a whole number. That fractional N is what the closed form returns, and the tool also shows the whole payments plus a smaller last payment that reaches the same FV. I/Y has no closed form, so the tool tries about 1,400 rates per payment period between -99% and 1,000% and polishes each sign change with Brent’s method. It returns the rate nearest 0% and lists any others, because the equation can have several rates, or none, when the cash flows change sign more than once; two rates closer together than one trial step, or one where the equation only touches zero, can be missed. When P/Y equals C/Y the answers match Excel’s PMT, FV, PV, NPER and RATE (RATE gives up after 20 iterations; this tool does not). Unlike the compound interest and loan repayment tools, which each work out one fixed answer, this solves for any single unknown. The page shows the first 120 periods, and the CSV holds up to 12,000. It does not handle uneven or growing payments (use an IRR tool), continuous compounding, fees, taxes, payments rounded to the penny or a rate that changes. Results are illustrations, not advice.

What this does not include

  • Uneven, growing or skipped payments (use an IRR or cash-flow tool).
  • Continuous compounding, a rate that changes over the term, fees and taxes.
  • Payments rounded to the penny: a lender’s statement can differ from this schedule by a few pence.

How this is checked

5 reference checks passed These 5 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Solve for pmtN, number of payments 360I/Y, interest rate per year (%) 6PV, present value 200000FV, future value 0P/Y, payments per year 12C/Y, times interest compounds per year 12Payments are made end
    Expected, and what Toolmoz gave
    Payment (PMT) expected -1199.10105031, Toolmoz -1199.1010503055047Total interest expected 231676.37811, Toolmoz 231676.3781099817
    Where the expected answer comes from
    The ordinary-annuity closed form on the Wikipedia Time value of money page, PMT = -PV i / (1 - (1 + i)^-N), with PV = 200,000, i = 0.06 / 12 = 0.005 and N = 360: (1.005)^360 = 6.0225752123, so PMT = -200,000 x 0.005 x 6.0225752123 / (6.0225752123 - 1) = -1,000 x 6.0225752123 / 5.0225752123 = -1,199.10105 (a 60-digit Python Decimal evaluation gives -1,199.10105031). Total interest = 360 x 1,199.10105031 - 200,000 = 231,676.3781
    Allowed difference
    ±0.0001 absolute
  2. Case 2

    Inputs
    Solve for nI/Y, interest rate per year (%) 12PV, present value -1000PMT, payment each period -100FV, future value 10000P/Y, payments per year 12C/Y, times interest compounds per year 12Payments are made begin
    Expected, and what Toolmoz gave
    Number of payments (N) expected 59.6738657, Toolmoz 59.67386567429462Full payments before the last one expected 59, Toolmoz 59Last payment (adjusted) expected -35.31351083, Toolmoz -35.313510830294035
    Where the expected answer comes from
    Microsoft’s NPER page example =NPER(A2/12, A3, A4, A5, 1) with A2 = 0.12, A3 = -100, A4 = -1000 and A5 = 10000 prints 59.6738657 (the page’s description column swaps the end and start wording, but the formula has type 1, payments at the start). Hand check: i = 0.12 / 12 = 0.01, so (1 + i)^N = (PMT (1 + i) - FV i) / (PMT (1 + i) + PV i) = (-101 - 100) / (-101 - 10) = 201 / 111 = 1.810811 and N = ln 1.810811 / ln 1.01 = 0.593775 / 0.009950 = 59.6739. calculator.net prints N = 59.674 for the same inputs. The whole-payment reading: after 59 payments of 100 at the start of each month the balance is -9,865.68 (a step-by-step Python Decimal loop), so the 60th payment p solves (-9,865.68 + p) x 1.01 = -10,000, giving p = -9,900.99 + 9,865.68 = -35.31
    Allowed difference
    ±0.000001
  3. Case 3

    Inputs
    Solve for rateN, number of payments 48PMT, payment each period -200PV, present value 8000FV, future value 0P/Y, payments per year 12C/Y, times interest compounds per year 12Payments are made end
    Expected, and what Toolmoz gave
    Interest rate per year (I/Y, %) expected 9.241767, Toolmoz 9.241766985842455Rate per payment period (%) expected 0.770147, Toolmoz 0.7701472488202046
    Where the expected answer comes from
    Microsoft’s RATE page example: =RATE(A2*12, A3, A4) with 4 years, a payment of -200 and a loan of 8000 gives the monthly rate (the page shows it as 1% in whole-percent format) and times 12 it prints 9.24%. calculator.net prints I/Y = 9.242% compounded monthly, 0.770% per period and 9.643% when interest compounds once a year. Check: at i = 0.0077014725 a month the annuity factor (1 - 1.0077014725^-48) / 0.0077014725 = 40.000, and 200 x 40 = 8,000 (a 60-digit Python Decimal bisection finds i = 0.00770147249)
    Allowed difference
    ±0.0005 absolute
  4. Case 4

    Inputs
    Solve for fvN, number of payments 120I/Y, interest rate per year (%) 6PV, present value 10000PMT, payment each period -100P/Y, payments per year 12C/Y, times interest compounds per year 4Payments are made end
    Expected, and what Toolmoz gave
    Future value (FV) expected -1778.68, Toolmoz -1778.6833958857771Total interest expected 3778.68, Toolmoz 3778.683395885777
    Where the expected answer comes from
    calculator.net’s Finance calculator, read on 18 October 2026 with N = 120, I/Y = 6, PV = 10,000, PMT = -100, P/Y = 12, C/Y = 4 and payments at the end, prints FV = -1,778.68 and total interest 3,778.68. Hand check of the rate conversion: i = (1 + 0.06 / 4)^(4 / 12) - 1 = 1.015^(1/3) - 1 = 0.0049752063 a month, (1 + i)^120 = 1.015^40 = 1.81401841, so FV = -(10,000 x 1.81401841 - 100 x 0.81401841 / 0.0049752063) = -(18,140.18 - 16,361.50) = -1,778.68; interest = 1,778.68 - 10,000 + 12,000 = 3,778.68
    Allowed difference
    ±0.005 absolute
  5. Case 5

    Inputs
    Solve for pmtN, number of payments 60I/Y, interest rate per year (%) 0PV, present value 10000FV, future value 2000P/Y, payments per year 12C/Y, times interest compounds per year 12Payments are made end
    Expected, and what Toolmoz gave
    Payment (PMT) expected -200, Toolmoz -200Total interest expected 0, Toolmoz 0
    Where the expected answer comes from
    At a 0% rate nothing accrues, so PV + PMT x N + FV = 0 and PMT = -(PV + FV) / N = -(10,000 + 2,000) / 60 = -200 exactly (hand arithmetic). Interest is therefore 0: 60 x 200 = 12,000 = 10,000 + 2,000
    Allowed difference
    ±1e-9

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Solve for
PMT, the payment each period
N, number of payments
360
I/Y, interest rate per year (%)
6
PV, present value
200000
PMT, payment each period
0
FV, future value
0
P/Y, payments per year
12
C/Y, times interest compounds per year
12
Payments are made
At the end of each period (ordinary annuity)

Example result

First 5 rows of the example result
PeriodPaymentInterestChange in balanceBalance
0000200,000
1-1,199.101050311,000-199.101050306199,800.89895
2-1,199.10105031999.004494748-200.096555557199,600.802394
3-1,199.10105031998.004011971-201.097038335199,399.705356
4-1,199.10105031996.998526779-202.102523526199,197.602832

You would receive 200,000.00 at the start, then pay 1,199.10 at the end of each month for 360 months, then have nothing left after the last payment. Signs: money you pay out is negative and money you receive is positive, as in Excel and financial calculators. The balance below carries the sign of PV and ends at minus FV. Rate: 6.0000% a year compounded 12 times a year with 12 payments a year is 0.500000% per month, or 6.1678% effective annually. Over the term payments total 431,676.38 paid and interest adds 231,676.38 to what you owe. The table shows periods 0 to 120 of 360; the CSV has every period. An illustration: no fees, taxes or rounding of payments to the penny.