Beaufort wind scale calculator
Enter 18 knots and you get Beaufort force 5, a fresh breeze with moderate waves, many whitecaps and some spray, worded the way marine forecasts and logbooks say it. Knots, m/s, mph, km/h and ft/s all work. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Wind speed
- 18 kn
- Wind speed ms
- 9.26 kn
- Wind speed kn
- 18
- Force
- 5
- Force name
- Fresh breeze
Marine forecasts, yacht logs, and coastal safety briefings still speak in Beaufort force numbers, not raw knots alone. A skipper hearing force six expects large waves and spray; a harbour master hearing force nine expects dense foam streaks and reduced visibility. This Beaufort wind scale calculator takes a mean wind speed in knots, metres per second, miles per hour, kilometres per hour, or feet per second and returns the integer Beaufort force from zero through twelve, the conventional force name, and a concise open-sea state description suitable for marine weather reporting.
How the Beaufort scale maps wind to sea state
Sir Francis Beaufort’s scale ranks wind force from zero (calm) to twelve (hurricane force) using effects on land and especially on the open sea. Modern operational meteorology keeps that ranking but anchors each force to a band of mean wind speed. Calm (force zero) is a mirror-like sea with barely measurable breeze.
Light air through gentle breeze (forces one to three) bring ripples, glassy wavelets, and the first scattered whitecaps. Moderate through strong breeze (forces four to six) lengthen waves, multiply whitecaps, and begin spray. Near gale through gale (forces seven and eight) heap the sea and blow foam into streaks and spindrift.
Strong gale through storm (forces nine and ten) produce high and very high waves with heavy tumbling and reduced visibility. Violent storm and hurricane force (eleven and twelve) leave the sea white with foam and fill the air with driving spray. This calculator classifies your mean wind speed against those WMO bands after converting to metres per second, then attaches the matching force name and open-sea description so logs and briefings stay consistent with synoptic language.
It reports force zero through twelve only; speeds above the force-eleven upper bound map to force twelve rather than inventing extended classes thirteen through seventeen, which are rarely used outside specialised tropical-cyclone tables.
Where Beaufort force numbers are still used
Passage-planning tools and electronic logbooks convert instrument knots into Beaufort force so crew briefings match coastal radio language without manual table lookup. Sailing schools and exam-prep sites need a deterministic oracle that marks force five for roughly seventeen to twenty-one knots and force eight for a true gale band, not a free-form chat answer that drifts between textbook editions. Marinas and race committees publish short notices that mix numerical speed with force names for visitors who learned weather in Beaufort first.
What you can do with it
Yacht log and passage briefs
Convert instrument mean wind in knots to Beaufort force and sea-state text for log entries and crew briefings that match coastal radio language.
Sailing school and exam checks
Mark weather-theory items with a deterministic oracle that maps speeds to forces zero through twelve and rejects negative or unknown units.
Marina and race committee notices
Publish short wind notices that pair numerical speed with force names and open-sea descriptions for visiting crews.
FAQ
Does this include sea-state descriptions?
Yes. Each force 0–12 includes a conventional open-sea state string for marine weather reporting, plus a combined description field.
What happens if wind speed is negative or the unit is unknown?
Negative speeds and unsupported units are rejected and are not billed.
What Beaufort force is 18 knots?
Force 5, called a fresh breeze. 18 knots is about 9.26 metres per second, and the sea at that force shows moderate waves of longer form, many whitecaps and some spray.
Should I enter the gust speed or the average wind?
Enter the mean wind speed. The scale is defined on average wind, so the calculator does not classify gust peaks, and it does not estimate wave height or swell period either.
Why does the scale stop at force 12?
Any speed above the force 11 band is reported as force 12, hurricane force. The extended classes thirteen to seventeen are rarely used outside specialised tropical-cyclone tables, so they are not added.
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/beaufort-scale \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wind_speed":18}'const res = await fetch("https://api.kit.forhosting.com/travel/beaufort-scale", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wind_speed": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/beaufort-scale",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wind_speed": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/beaufort-scale", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wind_speed":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wind_speed":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/beaufort-scale", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"wind_speed": 18
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.beaufort_scale",
"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
Negative speeds and unknown units fail with invalid_input and are not billed. Successful calls cost the published $0.002 base price with no model tokens and no outbound network.
Input units, response fields, and validation rules
When unit is omitted the capability assumes knots, the traditional marine reporting unit. Send a JSON body with wind_speed, a finite non-negative number, and an optional unit string. Accepted units include kn and aliases knots or kt; m/s with aliases such as mps; mph; km/h with aliases kph or kmh; and ft/s with alias fps. Success payloads echo wind_speed and the canonical unit, report wind_speed_ms and wind_speed_kn for dual display, and include force as an integer zero through twelve, force_name, sea_state, a combined description string, and a short scale note naming the WMO threshold table. Missing wind_speed, non-finite values, negative speeds, and unsupported unit labels fail with invalid_input naming the problem. Those failures do not consume prepaid balance. Pair the API with your own chart or instrument feed if you need gust peaks separately; this endpoint classifies mean wind speed only and does not estimate significant wave height or swell period.
Where a Beaufort force API earns its place
Keep requests small, pin force and sea_state in tests, and you get reproducible marine classifications for edge workers, LMS plugins, and weather dashboards without standing up a full forecast stack of your own.
Technical questions
How do I convert wind speed to a Beaufort force number?
Send wind_speed as a non-negative finite number and optional unit (kn by default, or m/s, mph, km/h, ft/s). The API returns force 0–12, force_name, and sea_state from WMO mean-wind thresholds.
What units does the Beaufort wind scale calculator accept?
Knots (kn, default), metres per second (m/s), miles per hour (mph), kilometres per hour (km/h), and feet per second (ft/s), including common aliases such as knots, mps, and kph.
What does the Beaufort wind scale calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.