Aerodynamic drag power calculator
At 100 km/h, a car with 2.2 m² of frontal area and a drag coefficient of 0.28 needs about 8 kW just to push the air aside; the calculator also shows the drag force and the horsepower. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Speed
- 100
- Speed unit
- Km h
- Frontal area
- 2.2
- Drag coefficient
- 0.28
- Speed ms
- 27.77777778
- Speed kmh
- 100
- Speed mph
- 62.13711922
- Air density
- 1.225
Highway fuel burn, EV range at cruise, and bicycle wattage all hit the same cubic wall: the power needed to push air aside grows with the cube of speed. This aerodynamic drag power calculator turns frontal area, drag coefficient, air speed, and air density into the watts, kilowatts, and mechanical horsepower required to overcome quadratic drag at a chosen cruise. It applies the closed-form identity P equals one-half rho Cd A v cubed after converting kilometres per hour, miles per hour, or knots into metres per second, and it also reports dynamic pressure and the drag force so you can see how a v-squared force becomes a v-cubed power.
How aerodynamic drag power is computed
Quadratic aerodynamic drag is the force that grows with the square of airspeed: drag force F equals one-half times air density rho times the dimensionless drag coefficient Cd times the projected frontal area A times velocity squared. Instantaneous mechanical power is force times speed along the path, so the power that must be delivered to the airstream is P equals F times v, which is one-half rho Cd A v cubed.
That cube is why a modest increase in highway speed burns a surprising amount of extra fuel or battery, and why a cyclist who doubles speed needs roughly eight times the aero watts if every other resistance stays put. Dynamic pressure q equals one-half rho v squared is the same quantity that appears in pitot tubes and sail-load estimates; multiplying q by Cd and A recovers the drag force, then multiplying again by v recovers power.
Air density defaults to the International Standard Atmosphere sea-level dry-air value 1.225 kilograms per cubic metre; thinner high-altitude or hot air lowers both force and power in proportion to rho. The model is the standard quadratic-drag term only: it does not add rolling resistance, grade, accessory loads, or drivetrain losses, so the watts you get are the aero slice you asked for, not a full vehicle energy budget.
What you can do with it
Cycling CdA watts at race speed
Convert a measured CdA and a target race speed into aero watts so a power-meter plan still has room for rolling and gravity.
FAQ
How is aerodynamic drag power calculated?
Convert speed to metres per second, then P = ½ × ρ × Cd × A × v³. Equivalently F = ½ × ρ × Cd × A × v² and P = F × v.
What is a typical Cd and frontal area?
An SUV sits higher; a box truck may be Cd 0.6–0.9 and 8–11 m². A crouched cyclist is often CdA ≈ 0.25–0.35 m².
Why does power grow with the cube of speed?
Drag force grows with v² (dynamic pressure). Power is force times speed, so aero power grows with v³. Doubling speed multiplies aero watts by eight if Cd, area, and density stay the same.
What air density should I use?
The default is 1.225 kg per cubic metre, dry air at sea level and 15 °C. Use a lower value for hot weather or high altitude: thinner air lowers both the drag force and the power in the same proportion.
Does the result include rolling resistance or hills?
No. It gives only the aerodynamic part, with no rolling resistance, slope, accessory loads or drivetrain losses. Treat it as the air's share of the effort, not a full energy budget for the vehicle or the bike.
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/drag-power \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":100,"frontal_area":2.2,"drag_coefficient":0.28}'const res = await fetch("https://api.kit.forhosting.com/travel/drag-power", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 100,
"frontal_area": 2.2,
"drag_coefficient": 0.28
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/drag-power",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 100,
"frontal_area": 2.2,
"drag_coefficient": 0.28
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/drag-power", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":100,"frontal_area":2.2,"drag_coefficient":0.28}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":100,"frontal_area":2.2,"drag_coefficient":0.28}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/drag-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
{
"speed": 100,
"frontal_area": 2.2,
"drag_coefficient": 0.28
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.drag_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
Invalid input is not billed; successful calls use the published $0.002 base price.
How aerodynamic drag power is computed
This calculator converts the chosen speed_unit into metres per second first, using 3.6 for kilometres per hour, the exact 0.44704 metres per second per statute mile per hour, and the international knot of 1852 metres in 3600 seconds, then evaluates those closed forms.
Input contract, units, and response fields
Example: one hundred kilometres per hour on 2.2 square metres at Cd 0.28 and the default density is a typical modern-sedan cruise, a few kilowatts of aero power. POST a JSON body with three required finite numbers: speed, the vehicle or air speed in the unit named by speed_unit; frontal_area, the projected area in square metres facing the flow; and drag_coefficient, the dimensionless Cd for the shape and yaw. speed must be greater than or equal to zero; a parked vehicle at zero speed yields zero force and zero power and is valid. frontal_area and drag_coefficient must be strictly positive. Optional speed_unit is one of km_h (the default, kilometres per hour), m_s (metres per second), mph (statute miles per hour), or kn (international knots). Optional air_density is in kilograms per cubic metre and defaults to 1.225; it must be positive and stay between 0.05 and 2.5 so a typo cannot invent a liquid or a vacuum. Each numeric field may arrive as a JSON number or as a numeric string; aliases such as v, area, Cd, and rho are accepted. Missing required fields, empty strings, non-finite values, unknown units, and numbers outside the stated ranges fail with invalid_input naming the field and are not billed. On success the body echoes the cleaned inputs, reports speed_ms, speed_kmh, and speed_mph, the product drag_area (Cd times A), dynamic_pressure_pa, drag_force_n, power_w, power_kw, and mechanical power_hp (watts divided by 745.6998715822702), plus a formula string and a one-line summary.
Where an aerodynamic drag power API earns its keep
Road-trip planners and EV owners use an aerodynamic drag power calculator when they want the aero share of highway consumption instead of a blended sticker number, because the cube law says one hundred and thirty kilometres per hour is not a little more expensive than one hundred. Fleet analysts compare Cd and frontal_area packages — mirrors, side skirts, a trailer gap — by holding speed and air_density fixed and reading the change in power_w or power_kw. Cycling coaches and time-triallists convert a measured or catalog CdA, sent here as drag_coefficient times frontal_area, and a target race speed into the aero watts the rider must produce, then subtract that from a power-meter target to leave room for rolling and gravity. Simulation notebooks and telematics pipelines that already store speed, a Cd table, and a weather-derived density can call a tiny parse API instead of re-deriving one-half rho Cd A v cubed in every language binding. Keep requests small, pin power_w and drag_force_n in tests, and you get reproducible aero-power numbers for classrooms, LMS plugins, and edge workers without standing up a vehicle-dynamics stack. This endpoint does not predict fuel burn, range, or lap time: it only converts the speed and shape you already chose into drag force and the power needed to overcome it.
Integration use cases
Highway EV and fuel aero share
Turn cruise speed, frontal_area, and Cd into the watts that air is taking so highway consumption is not guessed from a mixed-cycle sticker.
Fleet aero package comparison
Hold speed and air_density fixed and swap Cd or frontal_area to see how mirrors, skirts, or a trailer gap change drag power.
Technical questions
What units can I use for speed?
speed_unit accepts km_h (default, kilometres per hour), m_s (metres per second), mph (statute miles per hour), and kn (international knots). The response always includes speed_ms, speed_kmh, and speed_mph.
What does the aerodynamic drag 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.