Ship Froude number calculator
Compare hull speed with the waves the hull makes: a 100 m waterline at 10 m/s gives a Froude number of 0.31933, in the transition band where wave-making resistance can change quickly. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Speed
- 10
- Gravity
- 9.80665
- Waterline length
- 100
- Precision
- 6
- Froude number
- 0.31933
- Regime
- transition
This ship Froude number calculator evaluates the dimensionless ratio between hull speed and the gravity-wave speed associated with waterline length. Enter speed, gravitational acceleration, and length in one consistent unit system, and it returns Fn plus a practical low, transition, or high regime label. Naval architects, students, model testers, and marine engineers can use the result to compare dynamically similar hull conditions and recognize where wave-making resistance may change rapidly. The formula is deterministic, runs without network access, and rejects a zero waterline length instead of producing an undefined division.
What the ship Froude number expresses
The length-based Froude number compares a vessel's forward speed with the characteristic speed of surface gravity waves whose scale is tied to the hull's waterline length. It is written Fn = V / sqrt(gL), where V is speed, g is gravitational acceleration, and L is waterline length. Because the units cancel, Fn is dimensionless, allowing a full-size vessel and a geometrically similar model to be compared even though their lengths and speeds differ greatly.
A low value generally describes motion where wave-making effects are relatively modest, while increasing Fn indicates stronger interaction between the hull and its wave system. Actual resistance also depends on displacement, slenderness, trim, appendages, hull form, depth, and sea state. Use the returned regime to organize comparisons or identify a region worth closer analysis, not as a substitute for towing-tank results, computational fluid dynamics, or resistance trials.
The output includes the normalized inputs, selected precision, formula, and unrounded-value classification so rounding at a displayed boundary does not change the regime.
Enter a consistent set of speed, gravity, and length
All three physical inputs must belong to one coherent unit system. A common SI set is speed in metres per second, gravity in metres per second squared, and waterline length in metres. Feet per second, feet per second squared, and feet also work because the dimensions cancel correctly.
Do not enter speed in knots while leaving gravity and length in SI units; convert knots to metres per second first, or convert every quantity consistently. Gravity must be strictly positive. Negative lengths, negative speeds, missing values, non-finite numbers, and malformed numeric strings are rejected rather than silently repaired.
Precision controls only the decimal places displayed for the Froude number, from zero through fifteen; classification uses the full computed value before rounding. This matters near 0.2 and 0.4, where a displayed value may land on a boundary even though its underlying value remains just below it. Keeping the raw physical inputs in the response makes calculations easier to audit.
Use Fn for resistance studies and model scaling
Froude number is especially useful when planning model tests or comparing related hulls. For Froude similarity, a scale model should run at a speed chosen so its Fn matches the full-scale vessel's Fn. That preserves the relationship between inertia and gravity effects governing the free-surface wave pattern, although Reynolds number and viscous effects will generally not match at the same time.
In early design, plotting resistance or power against Fn helps teams compare different waterline lengths on a common horizontal axis and notice humps, hollows, or steep growth in wave-making resistance. Operators and analysts may also use Fn to give context to trial points, but the calculator does not estimate horsepower, total drag, hull speed, squat, or safe operating limits. Shallow-water behavior needs depth-based parameters in addition to the length-based number calculated here.
For reproducible studies, retain the exact speed, g, waterline definition, and precision alongside the output, since length between perpendiculars or overall length is not automatically interchangeable with the design waterline length. Browser calculations are free for quick exploration. Validation failures are explicit, so an empty or zero length cannot quietly contaminate a resistance comparison.
What you can do with it
Scale a towing-tank test
Match model and full-scale Froude numbers when selecting dynamically similar test speeds.
Compare resistance curves
Place results for hulls of different waterline lengths on a shared dimensionless speed axis.
Check a design operating point
Identify whether a proposed speed lies in a low, transition, or high length-based Froude regime.
FAQ
What formula does the calculator use?
It uses the length-based relation Fn = speed / sqrt(gravity × waterline length).
What units should I enter?
Use any coherent unit set, such as m/s, m/s², and m, or ft/s, ft/s², and ft. Do not mix knots directly with SI gravity and length.
Do the regime labels predict total resistance?
No. They are broad comparison bands. Total resistance also depends on viscous effects, hull form, displacement, trim, appendages, depth, and operating conditions.
What Froude number does a 100 m ship at 10 m/s have?
About 0.31933, in the transition band. It comes from dividing 10 m/s by the square root of 9.80665 times 100 m; the transition band runs from 0.2 up to just below 0.4.
Does rounding change the regime label?
No. The band is chosen from the full unrounded value, so a number shown as 0.2 or 0.4 can still sit just below that boundary. Precision only changes how many decimals you see, from 0 to 15.
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/earth/froude-wave-ship \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":10,"gravity":9.80665,"waterline_length":100}'const res = await fetch("https://api.kit.forhosting.com/earth/froude-wave-ship", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 10,
"gravity": 9.80665,
"waterline_length": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/froude-wave-ship",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 10,
"gravity": 9.80665,
"waterline_length": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/froude-wave-ship", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":10,"gravity":9.80665,"waterline_length":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":10,"gravity":9.80665,"waterline_length":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/froude-wave-ship", 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": 10,
"gravity": 9.80665,
"waterline_length": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.froude_wave_ship",
"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
Interactive calculations are free in the browser, while automated API requests cost $0.002 each.
What the ship Froude number expresses
The calculator reports `low` below 0.2, `transition` from 0.2 to below 0.4, and `high` at 0.4 or above. Those bands are intentionally broad comparison labels, not hard physical boundaries shared by every hull.
Enter a consistent set of speed, gravity, and length
Speed may be zero, which returns Fn = 0 and the low regime. Waterline length must also be strictly positive, and zero produces an `invalid_input` error because sqrt(gL) would be zero and the ratio would be undefined. Common aliases such as velocity or v, g, and lwl are accepted for integration convenience.
Use Fn for resistance studies and model scaling
Each successful API request costs $0.002, making the same deterministic calculation available to spreadsheets, design scripts, test-data pipelines, and educational applications.
Technical questions
What happens when waterline length is zero?
The request fails with invalid_input because the denominator becomes zero and the Froude number is undefined.
How much does the API calculation cost?
A successful API request costs $0.002. The interactive browser calculation is free.