ForHosting KIT · Engineering & construction

EV charge time calculator

Estimate how long a top-up takes: a 60 kWh battery charged from 20 to 80 percent on a 7.4 kW wallbox needs about 5.41 hours, drawing 40 kWh from the grid to add 36 kWh to the cells. 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
Battery capacity (kWh)
60
Starting charge (%)
20
Target charge (%)
80
Charger power (kW)
7.4
You get
Charging efficiency (%)
0.9
Energy delivered (kWh)
36
Energy drawn from grid (kWh)
40
Hours
5.41

free online

From battery size to charging time

The calculator works in three steps. First it finds the energy that flows into the cells between your two charge levels: the battery capacity times the difference between the target and starting percentages, divided by 100. Because the charger, the cable and the car's on-board rectifier lose some power as heat, it then divides that energy by the efficiency to get the energy your meter records. Finally it divides the grid energy by the charger power to get hours, and multiplies by 60 for minutes. With a 60 kWh battery going from 20 to 80 percent on a 7.4 kW wallbox at 0.9 efficiency, that is 36 kWh into the cells, 40 kWh from the grid and about 5.41 hours.

What the estimate leaves out, and when to use it

This is a flat, average-power estimate. It does not model the taper that slows charging as the battery fills, nor the effect of battery temperature, so real fast charging above roughly 80 percent will take longer than the number shown. Within that limit it answers practical questions quickly. Before a long drive, you can estimate a charging stop from your pack size and the station's power. At home, you can see how a 7.4 kW wallbox compares with a 22 kW or 50 kW unit for the same top-up. The battery size and charger power must be greater than zero, and both charge levels must sit between 0 and 100 percent, with the target above the start.

Trip planning

Estimate a charging stop before a long drive from your pack size and the station's kW.

Comparing chargers

See how a 7.4 kW wallbox compares with a 22 kW or 50 kW unit for the same top-up.

Does it model the charging taper?

No. It assumes constant average power, so real DC fast charging above ~80% takes longer than the estimate.

What does efficiency mean?

The fraction of grid energy that reaches the battery. It defaults to 0.9 and must be greater than 0 and at most 1.

How long does a 60 kWh battery take from 20 to 80 percent on a 7.4 kW wallbox?

About 5.41 hours, or 324.32 minutes, at 0.9 efficiency. The pack takes in 36 kWh, but 40 kWh are drawn from the grid because the charger and cable lose some energy as heat.

Can I compare a home wallbox with a faster charger?

Yes. Keep the same battery and charge range and change only the charger power, for example 7.4 kW, 22 kW or 50 kW. The duration is the energy drawn from the grid divided by the charger's power, so you see the difference at once.

Can I start from any battery level?

Yes, any percentage from 0 to 100, as long as the target level is higher than the starting one. The battery size and the charger power must both be greater than zero.

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/dev/ev-charge-time

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/dev/ev-charge-time \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"battery_kwh":60,"from_percent":20,"to_percent":80,"charger_kw":7.4}'
{
  "battery_kwh": 60,
  "from_percent": 20,
  "to_percent": 80,
  "charger_kw": 7.4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.ev_charge_time",
  "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.

Compute EV charge time from battery_kwh, a from/to state-of-charge range, charger_kw and efficiency: it returns the energy added to the cells, the grid energy drawn, and the charge duration in hours and minutes.

The formula chain, step by step

With the worked example — a 60 kWh pack from 20 to 80 percent on a 7.4 kW wallbox at 0.9 efficiency — you get 36 kWh into the cells, 40 kWh off the grid, and 5.41 hours or 324.32 minutes. No taper curve or battery-temperature model is applied; it is a flat average-power estimate, so real DC fast charging above roughly 80 percent will run longer than the number here. dev.ev_charge_time estimates a top-up from the usable energy you actually add to the pack. It first computes energy_kwh = battery_kwh × (to_percent − from_percent) ÷ 100, the kilowatt-hours that flow into the cells between your two state-of-charge points. Because the charger, cable and on-board rectifier lose power as heat, it divides by efficiency to get grid_kwh, the energy your meter records: grid_kwh = energy_kwh ÷ efficiency. Finally hours = grid_kwh ÷ charger_kw and minutes = hours × 60.

Inputs, defaults and validation

Four fields are required, each a finite number: battery_kwh, from_percent, to_percent and charger_kw. battery_kwh and charger_kw must be strictly greater than zero, and both percentages must sit between 0 and 100, with to_percent strictly greater than from_percent — asking to charge from 80 back to 20 raises the typed error "to_percent must be greater than from_percent". efficiency is optional and defaults to 0.9; it has to be greater than 0 and at most 1, so you cannot claim a charger that returns more energy than it draws. decimals is an optional integer that defaults to 2 and is clamped to the 0-4 range. Every failure throws a typed invalid_input error that names the offending field instead of returning NaN, so a form can highlight exactly one input and an automated caller can branch on the code rather than parse a message.

Rounding, and where to run it

Each of the four outputs — energy_kwh, grid_kwh, hours and minutes — is rounded once with a half-up, away-from-zero rule applied to the raw floating-point value, and never re-rounded from an already-rounded field. minutes is derived from the raw hours (hours × 60) before either is rounded, which is why 5.41 hours prints as 324.32 rather than 5.41 × 60 = 324.60. Failed tasks are never billed; only successful runs draw down prepaid balance.

Fleet pricing

Batch charge durations across many vehicles and chargers through the API.

Why do grid_kwh and energy_kwh differ?

energy_kwh enters the cells; grid_kwh is drawn from the outlet and is higher by the efficiency losses.

Can I charge from 80 to 20?

No. to_percent must be greater than from_percent, otherwise you get a typed invalid_input error.

Is it free?

Yes in the browser widget. The API costs $0.002 per call, and only successful tasks are billed.

Read the full KIT documentation →