Beaufort wind scale lookup
Put a wind reading into words people know: 10 m/s is Beaufort force 5, a Fresh breeze, with many whitecaps at sea and small trees in leaf swaying on land. Accepts m/s, km/h, mph, knots or ft/s. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Wind speed
- 10 m/s
- Speed knots
- 19.438445 m/s
- Beaufort number
- 5
- Name
- Fresh breeze
This Beaufort wind scale lookup turns a measured sustained wind speed into the familiar force number used in marine reports and everyday weather descriptions. Enter a non-negative speed in metres per second, kilometres per hour, miles per hour, knots, or feet per second. The result identifies Beaufort force 0 through 12, gives the standard force name, and explains what conditions typically look like both at sea and on land. It is useful when a forecast provides only a numeric speed but a log, lesson, safety note, or briefing needs language people can quickly understand.
Turn a measured speed into an observable wind category
The Beaufort scale connects instrument readings with visible effects. The capability converts the value to knots internally and compares it with the conventional force boundaries from calm at force 0 through hurricane force at force 12. A 10 m/s reading, for example, falls in force 5, Fresh breeze: moderate waves become more pronounced at sea while small trees in leaf begin to sway on land.
Use sustained wind rather than a brief isolated gust unless the report you are interpreting explicitly classifies gust speed. The table is categorical, so a value near a boundary may move to the adjacent force when the source reading is rounded. Keeping the original measurement precision helps the lookup select the intended band consistently.
Understand the boundary rules and returned descriptions
Each Beaufort number represents a speed interval rather than one exact velocity. This implementation uses the standard whole-knot bands: force 0 is below 1 knot, force 1 begins at 1 knot, force 2 at 4 knots, and the sequence continues through force 11 at 56 to 63 knots. Force 12 begins at 64 knots and has no upper limit in the classic scale.
Boundary comparisons are performed before the displayed knot value is rounded, which prevents formatting from changing the category. The force name is concise, such as Gentle breeze, Gale, or Violent storm. The two condition fields add the practical observations associated with that force.
Sea descriptions mention wave development, whitecaps, foam, spray, and visibility. Land descriptions mention smoke drift, moving leaves or branches, walking difficulty, and possible damage. These phrases describe typical effects, not guarantees at every site.
Wave appearance also depends on fetch, water depth, current, and how long the wind has been blowing. Land effects vary with vegetation, exposure, buildings, and local topography. Treat the result as a standardized classification for communication, while relying on official forecasts and local warnings for operational safety decisions.
Use the lookup in reports, teaching, and weather workflows
The structured response makes this capability suitable for both people and software. A weather dashboard can display a plain-language land description next to an anemometer reading, helping readers understand what a number may mean outdoors. Teachers can compare unit conversions while showing why Beaufort force is an interval-based observational scale rather than a linear unit.
Event teams can add understandable context to planning notes, and analysts can normalize historical records that mix knots, mph, and metric speeds. For consequential boating, aviation, construction, or emergency decisions, combine the classification with current official warnings, site-specific procedures, and qualified judgment.
What you can do with it
Add language to a marine log
Convert a knot or metric wind reading into its Beaufort force name and typical sea appearance.
Explain an anemometer reading
Show the expected land effects beside a sensor value so non-specialists can interpret it quickly.
Normalize weather records
Classify historical speeds reported in several common units with one stable set of boundaries.
FAQ
Does force 12 have an upper speed limit?
No. On the classic Beaufort scale, force 12 begins at 64 knots and includes all higher speeds.
Are the sea and land conditions guaranteed?
No. They are standardized typical observations; local terrain, water depth, fetch, exposure, and duration can change actual effects.
What Beaufort force is a 10 m/s wind?
A sustained 10 m/s wind is force 5, Fresh breeze. At sea, moderate waves grow longer and many whitecaps form; on land, small trees in leaf begin to sway and crested wavelets appear on lakes and rivers.
Which wind speed units can I use?
You can enter metres per second, kilometres per hour, miles per hour, knots or feet per second. The reading is converted to knots first and then compared with the classic Beaufort bands, so every unit lands on the same force.
Should I enter a gust or the sustained wind?
Use the sustained wind, unless the report you are reading explicitly classifies gusts. A single gust can push the result into a higher force. Keep the original precision too, because a rounded value near a boundary can move to the next force.
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/weather/wind-speed-scale-lookup \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wind_speed":10}'const res = await fetch("https://api.kit.forhosting.com/weather/wind-speed-scale-lookup", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wind_speed": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/weather/wind-speed-scale-lookup",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wind_speed": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/weather/wind-speed-scale-lookup", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wind_speed":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wind_speed":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/weather/wind-speed-scale-lookup", 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": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "weather.wind_speed_scale_lookup",
"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
Turn a measured speed into an observable wind category
To use this lookup, provide wind_speed as a non-negative number and select its unit. Supported units are m/s, km/h, mph, knots, and ft/s, with several familiar spellings accepted as aliases. The response preserves the submitted speed and normalized unit, reports a stable speed_knots value, and returns the matching beaufort_number and name. It also supplies separate sea_condition and land_condition fields because the same wind is recognized differently over open water and over terrain.
Understand the boundary rules and returned descriptions
Negative readings return invalid_input because wind speed is a magnitude and cannot be below zero.
Use the lookup in reports, teaching, and weather workflows
A marine log can store the measured speed alongside beaufort_number, name, and sea_condition without maintaining its own lookup table. Submit one reading per request and retain the normalized unit returned by the capability if downstream systems need an audit trail. The deterministic algorithm makes repeated calls with the same input produce identical JSON: it uses no network, forecast source, clock, random value, or changing external table. A successful API request costs $0.002; invalid input, including a missing, non-finite, unsupported-unit, or negative speed, produces an error instead of an invented classification. This tool does not forecast wind, calculate gust factors, adjust measurements for sensor height, or determine whether an activity is safe.
Technical questions
Which speed units can I use?
Use m/s, km/h, mph, knots, or ft/s. Common aliases such as kph, kn, and fps are also accepted.
What happens if the wind speed is negative?
The request returns invalid_input because wind speed is a magnitude and must be zero or greater.
How much does an API lookup cost?
Each successful API request costs $0.002. The browser runner is free to use on this page.