Hydroplaning speed calculator
At 35 psi of cold tire pressure, the classic NASA estimate puts the start of hydroplaning at about 61.2 mph, or 98.6 km/h. Enter your pressure in psi, kPa or bar and pick a wet-road speed with a real margin. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Pressure
- 35
- Pressure unit
- Psi
- Pressure psi
- 35
- Hydroplaning speed mph
- 61.2314257551
- Hydroplaning speed kmh
- 98.5424276504
Hydroplaning, also called aquaplaning, begins when a wedge of standing water lifts the tire contact patch so the vehicle is skating on a film instead of gripping rubber. The classic NASA Horne square-root formula estimates that onset speed from one number you already know: cold tire inflation pressure. This hydroplaning speed calculator converts your reading to pounds per square inch when you send kilopascals or bar, applies V equals 10.35 times the square root of P, and returns the estimate in miles per hour and kilometres per hour. Use it before a wet highway run, a monsoon commute, or a fleet briefing so you can pick a cruise speed with a real margin instead of guessing from a slogan.
What the NASA square-root hydroplaning formula actually estimates
Dynamic hydroplaning starts when a water film under the contact patch generates enough hydrodynamic lift to unload the tire. NASA researcher Walter Horne distilled runway tests into a compact square-root rule: the onset speed in miles per hour is 10.35 times the square root of inflation pressure in pounds per square inch. The square-root shape is not a slogan.
Lift grows with speed while the load the tire can still carry is set by how hard the carcass is inflated, so the critical speed scales with the square root of pressure. Raise cold inflation and the film has to work harder to lift the patch; lower it after a slow leak and the same puddle becomes dangerous at a slower highway speed. This calculator implements that NASA Horne rotating-tire form only.
It does not model tread depth, water depth, tire width, or pavement texture, and it is not a substitute for posted limits or your own judgment in standing water. It answers one wet-road planning question: given the pressure you actually run, at about what speed does the classic estimate say hydroplaning can begin.
Typical passenger-car cold pressures around 32 to 36 PSI map to roughly 58 to 62 miles per hour, which is why a rain-soaked interstate at the posted limit can already sit near the onset band if the tires are under-inflated. Motorcycle, van, and light-truck pressures sit on the same curve, so a single identity covers the usual road-going range without inventing a different coefficient for each vehicle class.
Where a hydroplaning speed calculator earns its keep on the road
Road-trip and commute planners use a hydroplaning speed calculator when rain is on the route and they want a number they can compare with cruise control, not a vague reminder to slow down. Motorcycle and RV owners run different pressures than a compact car; converting bar or kilopascals once and seeing both miles per hour and kilometres per hour avoids a unit mistake on a cross-border trip. Failed validation does not consume balance.
Keep requests small, pin the rounded speeds in tests, and you get a reproducible wet-road planning number without standing up a vehicle-dynamics stack. If you later need tread-depth remaining life, a standing-water depth model, or a cargo load-to-PSI adjustment, treat those as separate search intents rather than stretching this hydroplaning speed calculator past the classic formula.
What you can do with it
Wet highway trip planning
Convert your cold PSI (or bar/kPa sidewall reading) into an onset speed and set cruise below that estimate before a rain-soaked interstate or monsoon commute.
Driver education and safety demos
Show that 10.35 times the square root of P matches a hand calculation so students see why under-inflation drops the hydroplaning threshold into ordinary highway speeds.
FAQ
How is hydroplaning speed calculated from tire pressure?
Pressure in kPa or bar is converted to PSI first. The same speed is also returned in km/h using the exact 1.609344 factor.
Which pressure units can I send?
Omit the unit to treat the number as pounds per square inch.
Why is zero or negative pressure rejected?
A flat or inverted reading has no physical hydroplaning onset.
Does this include tread depth or water depth?
No. This is the classic square-root estimate from inflation pressure only. Tread, film thickness, tire width, and pavement texture are out of scope and belong on separate tools.
What does the hydroplaning speed calculator cost?
The browser tool is free and runs locally.
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/hydroplaning-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pressure":35}'const res = await fetch("https://api.kit.forhosting.com/travel/hydroplaning-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pressure": 35
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/hydroplaning-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pressure": 35
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/hydroplaning-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pressure":35}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pressure":35}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/hydroplaning-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
{
"pressure": 35
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.hydroplaning_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
Input contract, units, response shape, and error behaviour
When the unit is omitted the calculator treats the number as pounds per square inch, the native unit of the NASA formula. Kilopascals and bar are converted with the international definition that one pound per square inch equals 6894.757293168 pascals, so 241 kilopascals and 2.41 bar become the same internal PSI before the square root. Zero or negative pressure is rejected because a square-root onset speed is undefined for a flat or inverted reading. An unknown unit string is rejected so a typo cannot silently assume PSI. Example: 35 PSI yields about 61.2 miles per hour or 98.6 kilometres per hour. Send a JSON body with pressure, the cold inflation of the tire you care about, as a finite number strictly greater than zero. Optionally send pressure_unit as one of psi, kpa, or bar. Missing pressure, empty strings, NaN, Infinity, and non-numeric types fail with invalid_input naming the field and are not billed. On success the response echoes the cleaned pressure and unit, reports pressure_psi after conversion, and returns hydroplaning_speed_mph plus hydroplaning_speed_kmh using the exact factor 1.609344 miles to kilometres. The coefficient 10.35, the formula string, and method nasa_horne_sqrt document the identity so a client can reprint the calculation next to the number. Pair the result with a margin you choose; the endpoint does not invent a legal speed or a weather forecast, and it will not stretch a converted pressure past a two-thousand PSI sanity ceiling meant to catch unit mistakes.
Where a hydroplaning speed calculator earns its keep on the road
Fleet and rental desks keep a pressure log per vehicle; feeding those PSI values into the same contract produces a briefing sheet of onset speeds before a wet dispatch, and the JSON is easy to archive beside the TPMS snapshot. Because this capability is a pure parse engine, the browser tool is free and a successful API call costs the published $0.002 base price with no model tokens and no outbound weather service.
Integration use cases
Fleet and rental wet-weather briefings
Feed the logged inflation of each vehicle into the same contract and archive the JSON onset speeds next to the TPMS snapshot before a wet dispatch.