EV range at highway speed calculator
At 20 kWh per 100 km, a 75 kWh pack covers 375 km of motorway, well short of a mixed-cycle sticker. Enter the consumption you see at cruising speed, and the rated figure if you want the gap. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Capacity kwh
- 75
- Highway consumption
- 20
- Usable pct
- 100
- Usable kwh
- 75
- Consumption unit
- kwh_per_100km
- Range km
- 375
- Range mi
- 233.0142
Highway cruising almost always burns more kilowatt-hours per kilometer than the mixed-cycle sticker on an electric vehicle. This EV range at highway speed calculator takes usable battery capacity and a higher energy-consumption rate measured or estimated at sustained freeway speeds, then returns the shorter distance you can drive before the pack is empty. Enter pack capacity in kilowatt-hours, the highway consumption figure in kilowatt-hours per one hundred kilometers or watt-hours per kilometer or mile, optionally a usable-charge percent and a rated mixed-cycle rate for comparison, and the engine answers with range in kilometers and miles plus, when a rated rate is supplied, how much range you lose versus the sticker cycle. The arithmetic is fully deterministic: usable energy equals capacity times usable percent over one hundred, then highway range is usable energy divided by the highway burn rate in the selected unit.
Why highway speed shortens EV range and what this tool returns
Electric-vehicle range is not a single fixed number: aerodynamic drag rises roughly with the square of speed, so sustained freeway driving often consumes substantially more energy per unit distance than city loops or laboratory mixed cycles. Drivers planning long motorway legs need a range estimate that reflects that higher burn rate, not the optimistic figure printed for combined city and highway testing.
This calculator answers that planning question without weather feeds or elevation models: you supply the pack size, how much of the pack is usable, and the energy consumption you expect or measure at the sustained speed you will hold, and it returns the distance that usable energy can cover at that rate. The page stays focused on the highway-range identity so worksheets, APIs, and browser demos share one stable contract.
Where highway-range estimates fit in trips, fleets, and product UX
Road-trip planners meet this calculation when a map shows five hundred kilometers of continuous motorway and the vehicle handbook lists fifteen kilowatt-hours per one hundred kilometers mixed but twenty at one hundred twenty kilometers per hour, and the only remaining step is whether the usable pack is large enough without a mid-leg charge. Fleet operators batch the same formula across vehicles with different highway Wh per kilometer stickers to size depot charging windows or to flag routes that exceed a daily energy budget under freeway duty cycles.
Travel and mobility products call the contract from scripts when a user picks a destination and the app must show expected range under highway assumptions without shipping a full physics or weather stack. Pair it with general EV range or trip-cost helpers when you need mixed-cycle distance or charging spend next to the highway figure, and with other travel tools when you are building a small lab of free, deterministic planning calculators for energy and logistics.
What you can do with it
Motorway trip planning
Estimate how far a pack lasts at sustained freeway consumption before booking charge stops on a long highway route.
Fleet freeway duty cycles
Batch pack size and highway kWh/100km across vehicles to flag routes that exceed usable energy under cruise.
FAQ
What does the EV range at highway speed calculator cost?
It is free in your browser on this page.
Why is highway range lower than the sticker range?
Sustained high speed increases aerodynamic drag and energy use per kilometer.
How do I see how much range I lose compared with the sticker?
Also enter the rated mixed-cycle consumption, in the same unit as the highway figure. You then get the sticker range next to the highway range, plus the percentage by which the highway leg is shorter.
Does the speed I type change the result?
No. The speed is only shown back for your notes. The highway consumption you enter already carries the effect of speed, so that number is what shortens the range.
Which consumption units does it accept?
Kilowatt-hours per 100 km, the default used on European stickers and trip computers, plus watt-hours per kilometer and watt-hours per mile as shown on many dashboards. The rated figure must use the same unit.
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/travel/ev-range-at-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"capacity_kwh":75,"highway_consumption":20}'const res = await fetch("https://api.kit.forhosting.com/travel/ev-range-at-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"capacity_kwh": 75,
"highway_consumption": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/ev-range-at-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"capacity_kwh": 75,
"highway_consumption": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/ev-range-at-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"capacity_kwh":75,"highway_consumption":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"capacity_kwh":75,"highway_consumption":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/ev-range-at-speed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"capacity_kwh": 75,
"highway_consumption": 20
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.ev_range_at_speed",
"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
Zero or negative capacity or consumption is rejected with invalid_input.
Why highway speed shortens EV range and what this tool returns
The response echoes capacity_kwh, usable_pct, usable_kwh, highway_consumption, consumption_unit, range_km, range_mi, precision, a method tag ev_range_at_speed, and a compact formula string. When you also provide rated_consumption in the same unit, the response adds rated_range_km, rated_range_mi, range_reduction_pct, and range_ratio so you can show how much shorter the highway leg is versus the sticker cycle. Optional speed_kmh is echoed for display only and does not alter the energy math; the consumption figure already encodes the speed effect. Rejected inputs include missing capacity or highway consumption, non-finite values, non-positive pack capacity, usable_pct outside zero to one hundred, and zero or negative consumption rates, because those cases do not define a meaningful trip distance.
How capacity, highway consumption, and optional rated rates are read
The preferred fields are capacity_kwh for the nominal pack size in kilowatt-hours and highway_consumption for the energy rate at sustained highway speed, but aliases such as capacity, battery_kwh, pack_kwh, consumption, highway_rate, and energy_rate are accepted so spreadsheets and forms can reuse the same contract. consumption_unit selects the interpretation: kwh_per_100km is the default metric consumption rate familiar from European stickers and trip computers, while wh_per_km and wh_per_mi match dashboard-style watt-hour rates. usable_pct defaults to one hundred when omitted and may be set from zero to one hundred to model a manufacturer usable window, a software buffer, or a partial charge before departure. rated_consumption is optional; when present and positive it must use the same unit as highway_consumption and enables the reduction comparison. speed_kmh is optional documentation of the cruise speed you have in mind and is never used to invent a consumption curve. Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; non-numeric tokens fail with a clear invalid_input message. After validation the engine computes usable_kwh, applies the matching closed-form range formula for the selected unit, always reports both kilometers and miles using the exact international mile constant, and optionally computes range_reduction_pct as one hundred times the difference between rated and highway range divided by rated range. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose, defaulting to four and capped at fifteen so JSON goldens stay stable.
Where highway-range estimates fit in trips, fleets, and product UX
Buyers comparing two cars can hold capacity fixed and swap highway_consumption values to see which platform keeps more distance at cruise. Students and driving instructors use the optional rated_consumption field to connect the textbook idea of mixed-cycle efficiency with the harsher real-world freeway burn rate. On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a dashboard demo to an automated pipeline without changing the mathematical result.
Integration use cases
Sticker vs highway comparison
Enter mixed-cycle and highway consumption to show range_reduction_pct and set realistic buyer expectations.
Technical questions
How is highway range calculated?
usable_kWh = capacity_kWh × usable_pct / 100. Then range_km = usable_kWh × 100 / highway_consumption when the unit is kWh per 100 km (similar closed forms for Wh/km and Wh/mi).
What does range_reduction_pct mean?
When rated_consumption is provided, it is the percent by which highway range is shorter than rated range: (rated_range − highway_range) / rated_range × 100.
Does speed_kmh change the result?
No. speed_kmh is optional display metadata. Encode the speed effect in highway_consumption itself from measurement or manufacturer data.