ForHosting KIT · Developer Utilities

Battery depth of discharge calculator

A battery bank's nameplate capacity is not the same as the energy you plan to use during each cycle.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This battery depth of discharge calculator converts a chosen discharge limit into usable amp-hours and watt-hours, shows the capacity left in reserve, and estimates how the choice may change cycle life relative to a published rating. Enter the bank capacity, nominal voltage, chosen depth of discharge, and a cycle-life rating. You can also adjust the rating's reference depth and the model exponent when you have chemistry-specific test data.

Turn nameplate capacity into a practical energy budget

Battery labels normally state nominal amp-hour capacity, but a design rarely intends to remove every stored amp-hour before recharging. Depth of discharge, abbreviated DoD, is the percentage of nominal capacity taken out during a cycle. A 400 Ah bank operated at 60% DoD therefore provides 240 usable Ah and retains 160 Ah as the planned reserve. This calculator also multiplies amp-hours by nominal voltage to express the same budget in watt-hours, which is usually more convenient when comparing loads. For example, voltage allows lighting, inverter, communications, and control demand to be combined in a common energy unit. Treat the result as a planning quantity, not a promise that a battery will hold its full label value under every condition. Temperature, discharge rate, age, cell imbalance, inverter losses, and the manufacturer's end-of-discharge voltage can all reduce energy delivered in service. For system sizing, apply those losses separately and keep a safety margin rather than increasing DoD until the arithmetic just meets the load.

Understand the cycle-life estimate and its assumptions

Cycle life usually changes with discharge depth: shallower cycling tends to produce more cycles, although the relationship depends strongly on chemistry, construction, temperature, charge settings, and the definition of end of life. The calculator anchors its estimate to a rating you provide. It multiplies rated cycles by the reference DoD divided by the chosen DoD, raised to the cycle-life exponent. With the default exponent of 1.5, reducing DoD produces a nonlinear increase in estimated cycles, while increasing DoD reduces them. This is an engineering approximation rather than a universal battery law. Use a manufacturer cycle-life chart to choose the reference rating and, when possible, fit the exponent to two points from the same chart. Do not mix a cycle rating from one battery model with the exponent or discharge assumptions of another. The percentage impact reports change relative to the entered rating: positive means more estimated cycles than the reference, negative means fewer, and zero means the chosen and reference DoD are equal. Calendar aging is not included, so lightly cycled batteries may age out before reaching the estimate.

Choose a depth of discharge for the whole system

A sensible DoD limit balances three competing goals: enough usable energy, acceptable battery replacement frequency, and adequate reserve for unexpected demand. Start with the energy required between charging opportunities, including conversion losses and standby loads. Compare that requirement with usable watt-hours at several DoD values, then review the corresponding cycle estimates. A shallower limit can extend modeled cycle life but may require a larger, heavier, or more expensive bank to supply the same load. A deeper limit extracts more energy from installed capacity but can leave less resilience and may shorten service life. Also check the battery management system, inverter cutoff, and charger configuration, because a calculated limit only matters if the equipment can enforce it consistently. For lead-acid banks, voltage sag and incomplete recharge deserve particular attention; for lithium systems, follow the cell maker's permitted voltage window and protection requirements. Finally, run scenarios rather than relying on one result. Conservative, expected, and demanding cases reveal whether the design remains workable when consumption rises, charging is delayed, or available capacity declines with age.

Size an off-grid battery bank

Convert a daily energy requirement into usable bank capacity without assuming every nominal amp-hour is available.

Compare operating limits

Evaluate how 50%, 70%, and 90% discharge targets trade usable watt-hours against modeled cycle life.

Interpret a cycle-life datasheet

Anchor the model to a manufacturer's rated cycles and reference DoD, then test a proposed operating point.

What does the calculator cost?

It runs free in the browser. An API request costs $0.002.

What is depth of discharge?

Depth of discharge is the percentage of nominal battery capacity removed during a cycle. It is the complement of the planned state-of-charge reserve.

Is the estimated cycle life a warranty prediction?

No. It is a deterministic scaling estimate based on your rating, reference DoD, and exponent; actual life also depends on chemistry, temperature, charging, discharge rate, age, and operating limits.

Where should the cycle-life exponent come from?

Preferably from fitting multiple points on the cycle-life chart for the same battery model. If no data is available, the default 1.5 is only a general scenario assumption.

Why calculate both amp-hours and watt-hours?

Amp-hours describe charge capacity at the bank voltage, while watt-hours express energy and make it easier to compare batteries with electrical loads or banks at different voltages.

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/elec/battery-dod

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/elec/battery-dod \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"capacity_ah":400,"voltage_v":48,"depth_of_discharge_percent":60,"rated_cycle_life":3000}'
{
  "capacity_ah": 400,
  "voltage_v": 48,
  "depth_of_discharge_percent": 60,
  "rated_cycle_life": 3000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.battery_dod",
  "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.

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.

Read the full KIT documentation →