Speed from Mach number calculator
Mach 2 with a local speed of sound of 340.3 m/s is 680.6 m/s. Enter the Mach number and the speed of sound where the object flies, and get its true speed in that same unit. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Mach number
- 2
- Speed of sound
- 340.3
- Result
- 680.6
- Speed
- 680.6
Mach number is the dimensionless ratio of an object's speed through a medium to the local speed of sound in that medium. Pilots, aerospace students, simulation authors, and content tools often need the inverse step: given Mach and a known local speed of sound, recover the actual speed in metres per second or any consistent unit. This speed from Mach number calculator multiplies those two values with a pure, deterministic formula so homework checks, browser widgets, and automation pipelines always agree. You supply a non-negative Mach number and a positive local speed of sound; the capability returns the product as speed (and as result) together with a short formula string and a human-readable message.
What Mach number means and why speed equals M times a
By definition the Mach number M equals the ratio of the object's true airspeed (or free-stream speed) v to the local speed of sound a in the surrounding fluid: M = v / a. Rearranging that identity gives the working formula of this calculator: v = M × a. The local speed of sound is not a universal constant; it depends on temperature, composition, and (in some regimes) humidity of the medium.
At standard sea-level dry air on an International Standard Atmosphere day, a is about 340.3 metres per second, but at altitude or in a wind tunnel the value you should pass is the local a for your condition, not a fixed table entry. Because a carries the physical unit of speed, the product M × a inherits that unit: if you pass a in m/s, speed is in m/s; if you pass a in knots or feet per second, speed is in the same unit.
This capability does not convert units or estimate a from temperature—it multiplies the two numbers you provide so that flight reports, CFD post-processing, and textbook exercises stay transparent. Zero Mach correctly yields zero speed. Negative Mach is rejected because the conventional definition uses a non-negative ratio of speeds; if you need a signed velocity component, apply the sign yourself after the magnitude is computed.
When turning Mach into speed helps
Flight-training apps and ground-school sites use a speed from Mach number calculator so learners can convert cruise Mach and local a into true airspeed without a slide rule. Simulation and telemetry pipelines often log Mach and ambient temperature (or precomputed a) and need a deterministic v for dashboards, anomaly checks, and post-flight reports. Keep requests small, pin the rounded product in tests, and you get reproducible speeds for homework, LMS plugins, and edge workers without standing up a full atmosphere model when you already know local a.
What you can do with it
Flight training and ground school
Convert a cruise Mach number and a known local speed of sound into true airspeed for classroom drills and self-check quizzes.
Simulation and telemetry post-processing
Turn logged Mach and ambient acoustic speed into SI velocity for dashboards, reports, and anomaly thresholds without a full atmosphere stack.
FAQ
What unit is the result in?
If a is in m/s, speed is in m/s; if a is in knots, speed is in knots. The calculator does not convert units.
Can I pass a fixed sea-level speed of sound?
Yes. For ISA sea-level dry air many tables use about 340.3 m/s. For altitude or non-standard days, pass the local a that applies to your case.
Why is negative Mach rejected?
Mach number is defined as a non-negative ratio of speeds. For a signed velocity component, compute the magnitude here and apply the direction in your own code.
How fast is Mach 2?
It depends on the local speed of sound. With 340.3 m/s, Mach 2 is 680.6 m/s; in colder air or another gas the same Mach number means a different speed.
Why do I have to enter the speed of sound?
Because it is not a universal constant: it changes with the temperature, composition and, in some cases, humidity of the air or gas. Mach only becomes a speed once you know that local value.
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/optics/speed-from-mach-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mach_number":2,"speed_of_sound":340.3}'const res = await fetch("https://api.kit.forhosting.com/optics/speed-from-mach-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mach_number": 2,
"speed_of_sound": 340.3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/speed-from-mach-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mach_number": 2,
"speed_of_sound": 340.3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/speed-from-mach-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mach_number":2,"speed_of_sound":340.3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mach_number":2,"speed_of_sound":340.3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/speed-from-mach-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"mach_number": 2,
"speed_of_sound": 340.3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.speed_from_mach_number",
"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
The same analytic path powers the free browser tool and the prepaid API at $0.002 per successful call, with no model tokens and no outbound network.
Input contract, response fields, and validation errors
Failed validation is not billed. POST a JSON body with two required finite numbers: mach_number (aliases mach, M, mach_n), the dimensionless Mach number, which must be greater than or equal to zero; and speed_of_sound (aliases a, sound_speed, local_speed_of_sound, sos), the local acoustic speed in whatever length-per-time unit you want for the answer, which must be strictly positive. Each field may arrive as a JSON number or as a numeric string; missing fields, empty strings, non-finite values, NaN, and Infinity fail with invalid_input naming the field. On success the body echoes the cleaned mach_number and speed_of_sound, returns speed and result as the product rounded to twelve decimal places for stable goldens across runtimes, and includes formula (speed = mach_number × speed_of_sound) plus a short message suitable for UI display. Example: mach_number two and speed_of_sound three hundred forty point three yields speed six hundred eighty point six in the same unit as the sound speed.
Where a speed-from-Mach API earns its keep
Game and media engines that expose Mach-based vehicle stats still need SI speed for physics and UI labels; calling a tiny parse API avoids embedding duplicate constants in every client.
Integration use cases
Games, media, and content widgets
Expose a free browser calculator that matches the API: speed equals Mach times local a, same unit as the sound-speed input.
Technical questions
How do I get actual speed from a Mach number?
Send mach_number (non-negative) and speed_of_sound (positive, same unit you want for the answer). The API returns speed = mach_number × speed_of_sound.
What does the speed from Mach number calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.