ForHosting KIT · Finance & money

DCF calculator

Bring a cash-flow forecast back to today's value: 100, 120 and 150 over three years at 10%, plus a terminal value of 1000, are worth 1054.09 now. Each discounted cash flow and the terminal piece are shown apart. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Cash flows
100, 120, 150
Discount rate
10
Terminal value
1,000
You get
Periods
3
Rate decimal
0.1
Discounted cash flows
90.91, 99.17, 112.7
Present value of cash flows
302.78

Discounted cash flow valuation is the present worth of an asset from its projected cash flows, a discount rate, and a terminal value at the end of the explicit forecast. Analysts, founders, and students use a DCF calculator to turn a free-cash-flow forecast into a single present value without opening a spreadsheet or a full valuation model. This discounted cash flow calculator discounts each projected cash flow by one plus the periodic rate raised to its period index, discounts the terminal value through the same last period, and returns the rounded present value together with each discounted cash flow and the present worth of the terminal piece.

What discounted cash flow means and how terminal value is timed

Discounted cash flow valuation answers a pricing question that a raw total of future receipts cannot: what is this stream of projected cash flows worth today, once every later dollar is brought back at a required return, and once a terminal value stands in for all cash after the explicit forecast? A dollar next year is not a dollar now, so each end-of-period projected cash flow is divided by one plus the periodic discount rate raised to the period number.

Period one is discounted once, period two twice, and so on through the last cash flow you supply. The terminal value is the lump you already computed for the end of that last period—an exit multiple times year-n earnings, or a Gordon growth identity of next year's cash over the spread between the rate and perpetual growth—and it is discounted through the same last period, not left at face value.

The sum of those present values is the DCF present value: the enterprise-style worth of the forecast plus the terminal piece, without subtracting a time-zero outlay. That last point is the job that differs from project net present value. When the discount rate is exactly zero there is no time value, so each cash flow and the terminal value are left as-is and present value collapses to their arithmetic sum.

Cash flows may be inflows, further outlays, or zeros, which is how a mid-horizon reinvestment or a loss-making year enters the same list. A negative discount rate is rejected rather than treated as a compounding bonus, because a DCF hurdle below zero does not define a required return for bringing future cash back to today.

This calculator does not solve for internal rate of return, WACC from capital structure, or perpetual growth from a Gordon model: you supply the rate and the terminal value you already trust, and it applies the classical identity so every consumer sees the same arithmetic.

Where a DCF calculator earns its keep

Equity research, startup fundraising, and CFA-style exam prep need a live DCF calculator that students and analysts can trust against textbook tables when they already have the explicit free-cash-flow forecast, the WACC, and a terminal value. Interview screens and homework generators require a deterministic oracle that rejects a negative discount rate instead of returning a present value that grows with delay.

This is a different search and a different job from project net present value, which subtracts a time-zero outlay and typically has no terminal lump, and from a times-earnings multiple, which never discounts a forecast. Content sites that rank for dcf calculator or discounted cash flow benefit from a free browser path that matches the paid automation path on the same pure module. Use it when the question is what a known forecast is worth today, and layer capital-structure and growth-model work in your own service when you need them.

First-pass enterprise value from a forecast

Turn a free-cash-flow forecast, a WACC, and an already-computed terminal value into a reproducible DCF present value for a teaser, CIM, or investment memo.

Classroom and exam DCF checks

Verify textbook discounted cash flow present value for given year-by-year cash flows, a non-negative hurdle, and a terminal lump, including the zero-rate identity.

How does the DCF calculator compute present value?

When the rate is zero the identity collapses to the arithmetic sum.

How is this different from net present value (NPV)?

DCF here returns the present value of the projected stream plus the discounted terminal value. It does not subtract a time-zero outlay. Project NPV is a different search: outlay, operating cash flows, and a hurdle, usually without a terminal lump.

How much of a DCF value comes from the terminal value?

The result shows both parts separately. In the example, the three cash flows are worth 302.78 today and the terminal value 751.31, so the terminal piece carries most of the 1054.09 total.

What happens with a discount rate of 0%?

There is no time value, so nothing is discounted: the present value is simply the sum of the cash flows and the terminal value. A negative rate is rejected, because it does not describe a required return.

Does the DCF calculator work out WACC, IRR or the terminal value?

No. You supply the discount rate and a terminal value you already trust, such as an exit multiple or a perpetual growth figure. It does not solve for internal rate of return or build a rate from your capital structure.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/dcf

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/dcf \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cash_flows":[100,120,150],"discount_rate":10,"terminal_value":1000}'
{
  "cash_flows": [
    100,
    120,
    150
  ],
  "discount_rate": 10,
  "terminal_value": 1000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.dcf",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_items40
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

It fails with invalid_input when the discount rate is negative, when a cash-flow list is missing or not finite, or when the terminal value is not a finite number.

Input contract, formula, and response fields

Optionally set decimals to an integer from zero to eight for currency-style rounding of money outputs; the default is two. Money-like fields use half-up rounding once from the raw floating-point results so goldens stay byte-stable across runtimes. Example: cash flows one hundred then one hundred twenty then one hundred fifty, a ten percent rate, and a terminal value of one thousand yield a present value near one thousand fifty-four. POST a JSON body with three required fields. cash_flows is a non-empty list of one to forty finite numbers in chronological order: the first value is the end of period one, the second the end of period two, and so on; inflows are positive, additional investments or costs are negative, and zeros are allowed. Aliases flows, cf, projected_cash_flows, and fcf map to the same list so a worksheet can keep its column names. discount_rate is the periodic required return expressed as a percent rather than a decimal fraction (ten means ten percent per period, not zero point one) and must be a finite number that is not negative. Aliases rate, rate_percent, wacc, and discount_rate_percent are accepted. terminal_value is the finite lump at the end of the last explicit period; aliases tv and residual_value are accepted; zero is allowed and means the explicit forecast is the whole model. The engine forms r as discount_rate over one hundred, then for each period t computes CF_t divided by (one plus r) to the t, or CF_t itself when r is zero. present_value_of_cash_flows is the sum of those discounted amounts; present_value_of_terminal_value is TV divided by (one plus r) to the n; present_value is the sum of the two. The response also echoes cash_flows, discount_rate, and terminal_value, then reports periods, rate_decimal, discounted_cash_flows, and a short formula string. Missing fields, empty strings, non-finite values, an empty or overlong cash-flow list, a negative discount rate, and out-of-range decimals fail with invalid_input and are not billed.

Where a DCF calculator earns its keep

Brokers and FP&A templates recompute present value when a discount-rate assumption or a single year’s cash flow changes mid-model; a tiny parse API avoids reinventing the discount loop in every spreadsheet. Sweep discount_rate from your own code to show how present value falls as the hurdle rises; pin present_value in tests; keep requests small. This tool does not produce WACC from debt and equity weights, does not solve Gordon growth for you, and does not subtract net debt to reach equity value—only the classical single-rate present value of projected cash flows plus a terminal value.

Sensitivity when WACC or terminal value moves

Recompute present_value when the discount rate or a single period cash flow changes so every scenario in a grid uses the same classical identity.

What happens if the discount rate is negative?

The task fails with invalid_input. A negative discount_rate is not a required return for DCF valuation and is not billed.

Is the terminal value discounted, and to which period?

Yes. terminal_value is a lump at the end of period n (the last cash_flows item). It is divided by (1+r)^n, the same factor as the last explicit cash flow. A terminal_value of zero is allowed and means the explicit forecast is the whole model.

What does the DCF calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →