Hydroelectric power calculator
Two cubic metres of water per second falling through a 10 m net head at 85 percent efficiency deliver 166.77 kW: a screening figure for a micro-hydro site or a textbook problem. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Flow rate
- 2
- Head height
- 10
- Efficiency
- 0.85
- Density
- 1,000
- Gravity
- 9.81
- Power w
- 166,770
- Power kw
- 166.77
Hydroelectric power is the electrical output a turbine-generator can deliver when a known volume of water falls through a known vertical drop. This hydroelectric power calculator accepts three numbers you already have from a site survey or a textbook problem — volumetric flow rate in cubic metres per second, net head height in metres, and overall plant efficiency as a fraction from zero to one — and returns power in watts from the standard product of water density, gravity, flow, head and efficiency. Fresh water is taken at one thousand kilograms per cubic metre and gravity at 9.81 metres per second squared, the pair every hydropower handbook uses when it writes kilowatts as 9.81 times Q times H times eta. Zero flow or zero head returns zero watts.
The hydropower formula and what each term means
The electrical power a hydroelectric plant can extract from a falling column of water is the product of five quantities. Water has mass; that mass falling through a height loses gravitational potential energy at a rate equal to density times gravity times volumetric flow times head. Multiplying that ideal hydraulic power by an overall efficiency between zero and one accounts for friction in the penstock, turbine hydraulic losses, generator electrical losses and auxiliary take-off.
Written as one product, P in watts equals ρ times g times Q times H times η, with ρ the density of fresh water at one thousand kilograms per cubic metre, g standard gravitational acceleration at 9.81 metres per second squared, Q the flow rate in cubic metres per second, H the net head height in metres, and η the dimensionless efficiency. Because one thousand times 9.81 is 9810, the same formula in kilowatts is simply 9.81 times Q times H times η — the line every hydropower handbook prints.
A plant that passes two cubic metres per second through a ten-metre net head at eighty-five percent efficiency therefore delivers 166770 watts, or 166.77 kilowatts. The calculator does not model surge tanks, part-load hill charts, tailwater rise, or seasonal density change: those belong in a detailed plant study. What you get is the textbook screening wattage you can audit by multiplying five numbers.
Change flow, head or efficiency and the watts move in lockstep. This page is not a unit converter for horsepower and it is not a pipe-flow solver: those answer different searches about converting watts or sizing a conduit, not about how many watts a given discharge and drop can produce.
What to enter for flow, head and efficiency
Fractional values are allowed so a mill-scale 0.35 cubic metres per second or a 92.5 percent machine sent as 0.925 do not need rounding first. Efficiency greater than one is also rejected, because a plant cannot convert more than the available hydraulic power — send 0.85, not 85. Missing fields, empty strings, booleans, objects and tokens that are not plain decimal or scientific numbers fail the same way.
Zero flow or zero head is accepted and returns zero watts, because an idle intake or a dry weir really does produce no power. Numbers are rounded to twelve decimal places so goldens and clients compare byte-for-byte across runtimes.
Who uses a hydropower estimate
Civil engineers screening a run-of-river site use a deterministic hydroelectric power calculator to turn a gauged flow, a surveyed head and a target turbine efficiency into watts they can put next to a load estimate, instead of quoting a slogan about green megawatts. Campaign pages that ask visitors to compare a small dam with a rooftop solar array can send the same three numbers the visitor already typed and show the wattage without inventing an efficiency. Failed validation does not consume balance.
Keep requests small, pin the rounded fields in tests, and you get a reproducible hydropower product without standing up a SCADA historian of your own.
What you can do with it
Micro-hydro site screening
Turn a gauged creek flow, a surveyed net head and a target turbine efficiency into watts you can put next to the cabin or village load.
Classroom hydropower problems
Let students submit Q, H and η and check the textbook product 9.81·Q·H·η in kilowatts without flipping a density or gravity factor by hand.
FAQ
Why is an efficiency greater than one rejected?
Overall plant efficiency cannot exceed one: that would invent energy beyond the available hydraulic power. Send a fraction from 0 through 1. Negative efficiency is also rejected.
What happens if flow rate or head height is zero?
Zero is accepted and the calculator returns zero watts. A closed intake or a dry weir produces no power.
How do I calculate hydroelectric power?
Multiply water density, gravity, flow rate, net head and efficiency. In kilowatts that is 9.81 times flow times head times efficiency, so 2 m³/s through a 10 m head at 0.85 gives 166.77 kW.
How should I enter the plant efficiency?
As a fraction between zero and one, not as a percentage: write 0.85 for 85 percent. It covers the losses in the penstock, the turbine, the generator and the auxiliary equipment.
What is net head?
Net head is the vertical drop, in metres, from the upstream water surface to the turbine outlet. Use the net figure, because it is the height the water actually falls through the plant.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/eco/hydroelectric-power \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"flow_rate":2,"head_height":10,"efficiency":0.85}'const res = await fetch("https://api.kit.forhosting.com/eco/hydroelectric-power", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"flow_rate": 2,
"head_height": 10,
"efficiency": 0.85
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eco/hydroelectric-power",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"flow_rate": 2,
"head_height": 10,
"efficiency": 0.85
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eco/hydroelectric-power", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"flow_rate":2,"head_height":10,"efficiency":0.85}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"flow_rate":2,"head_height":10,"efficiency":0.85}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eco/hydroelectric-power", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"flow_rate": 2,
"head_height": 10,
"efficiency": 0.85
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eco.hydroelectric_power",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Any negative input, or an efficiency greater than one, fails with invalid_input instead of inventing energy.
Input contract, units, aliases and error behaviour
Send a JSON object with three required finite numbers: flow_rate, the volumetric discharge in cubic metres per second; head_height, the net vertical drop in metres from the upstream water surface to the turbine outlet; and efficiency, the overall plant efficiency as a fraction from zero through one inclusive. Each field also accepts a numeric string and a short list of aliases (q, discharge, flow, Q, head, h, height, net_head, eta, eta_t, turbine_efficiency) so spreadsheets and forms do not have to rename columns. Any negative flow_rate, head_height or efficiency is rejected: a negative discharge or a negative drop is not a physical plant, so the task fails with invalid_input that names the field. On success the response echoes the resolved flow_rate, head_height and efficiency, reports density 1000 and gravity 9.81, then power_w in watts, power_kw in kilowatts, a compact formula string, and the method label hydroelectric_power. There is no network lookup, no random draw, and no dependence on the current date: the same three numbers always produce the same JSON.
Where a hydroelectric power API earns its keep
Micro-hydro installers who already log creek measurements can post one task per candidate weir and store power_w beside the site identifier without opening a spreadsheet of 9.81 factors. If you later need annual energy, multiply power_w by operating seconds or hours; this endpoint stops at instantaneous power on purpose, so the wattage stays an honest function of the three numbers you sent.
Integration use cases
Campaign and journalism widgets
Show visitors the wattage of a small dam from the three numbers they typed, using the same module the API bills so the live figure never drifts.
Technical questions
How is hydroelectric power calculated from flow, head and efficiency?
Power in watts is P = ρ·g·Q·H·η with ρ = 1000 kg/m³, g = 9.81 m/s², Q in m³/s, H in metres and η a fraction from 0 to 1. In kilowatts that is 9.81·Q·H·η.
What units does the hydroelectric power calculator expect?
Send flow_rate in cubic metres per second, head_height in metres and efficiency as a fraction (0.85, not 85). The response reports power_w in watts and power_kw in kilowatts.
What does the hydroelectric power calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.