Wave speed calculator
Give any two of frequency, wavelength and wave speed and get the missing one from v = fλ: a 50 Hz wave with a 2 m wavelength travels at 100 m/s. Useful for checking homework, answer keys and lab data. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Frequency
- 50
- Wavelength λ in metres
- 2
- Speed
- 100
- Solved
- speed
Every travelling wave ties three quantities together: frequency how often crests pass a point, wavelength the spatial period between crests, and wave speed how fast the disturbance propagates. In a non-dispersive idealization the product of frequency and wavelength is exactly that speed, written v equals f times lambda. Students checking homework on sound, light in free space, strings, and water ripples, teachers building answer keys, lab instructors verifying ultrasonic rangefinder data, and engineers sanity-checking radio or acoustic links all need a fast, deterministic triad without opening a textbook every time.
What v = f λ means and which two quantities you need to send
In classical wave physics for a harmonic progressive wave in a uniform medium, wave speed v, frequency f, and wavelength lambda are linked by the product identity v equals f times lambda. That relation is the backbone of introductory problem sets, lab write-ups, and countless engineering estimates: how fast do crests travel for a fifty-hertz wave with a two-metre wavelength, what frequency does a radio station need for a given free-space wavelength at the speed of light, or what wavelength sits under a known frequency and measured phase speed.
Search intent clusters around phrases such as wave speed calculator, frequency wavelength calculator, v equals f lambda, find wavelength from speed and frequency, and wave velocity calculator. People want a numeric answer they can check against a worksheet, embed in a simulation, or feed into a larger pipeline—not only a reminder that the formula exists.
Units stay consistent with whatever basis you chose: hertz with metres and metres per second, or any coherent set you prefer for angular or reduced forms as long as the product relation holds for the quantities you send.
How this calculator validates input and applies v = f λ
Numeric strings that parse to finite numbers are accepted so forms and CSV-style pipelines can pass values without an extra cast. Frequency must not be negative whether you supply it or the solver computes it as speed divided by wavelength; a negative frequency is always rejected with a clear message. Wavelength must be strictly positive whether supplied or computed as speed over frequency.
When wavelength is the unknown, frequency must be non-zero to avoid division by zero. After validation, the missing quantity is computed as speed equals frequency times wavelength, or frequency equals speed over wavelength, or wavelength equals speed over frequency. There is no dispersion model, no Doppler shift, no medium table, and no unit conversion; this is ideal progressive-wave arithmetic from the two known quantities.
Practical use, limits, pricing, and delivery channels
Use the browser tool when you want an immediate wave-speed check while grading homework, verifying a lab string or ultrasound run, sanity-checking a radio link budget sketch, or converting a known frequency and medium speed into wavelength for an antenna or resonance estimate. Choose units consistently—if frequency is in hertz and wavelength is in metres, speed comes out in metres per second. Results are fully deterministic: the same two inputs always yield the same triad and the same solved field label.
There is no language model, no external physics service, and no randomness, so the capacity is safe to pin in continuous-integration checks and reproducible lesson materials.
What you can do with it
Homework and lab wave drills
Students and graders confirm wave speed, frequency, or wavelength for given pairs, with clear rejection when frequency is negative or a field count is wrong.
RF, acoustics, and optics sanity checks
Quick structured numbers for link sketches, string modes, and free-space wavelength estimates without standing up a full wave-propagation stack.
FAQ
What happens if frequency is negative?
Negative frequency is rejected whether it is supplied as input or would be computed from speed and wavelength; failed validation is not charged.
Can I solve for frequency or wavelength instead of speed?
Yes. Provide exactly two of frequency, wavelength, and speed; the missing one is computed. For example speed and wavelength yield frequency equals speed over wavelength.
Is the wave speed calculator free?
The browser tool runs free on your device.
Does this convert units or model media?
No. Keep units consistent yourself (for example Hz, m, m/s). There is no medium table, Doppler model, or dispersion; the engine only applies v equals f times lambda.
Why can't I enter all three values at once?
Because two of them already fix the third. Enter exactly two and the calculator works out the missing one; with only one value, or with all three, it gives no result.
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/phys/wave-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency":50,"f":1}'const res = await fetch("https://api.kit.forhosting.com/phys/wave-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency": 50,
"f": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/wave-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency": 50,
"f": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/wave-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency":50,"f":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency":50,"f":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/wave-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
{
"frequency": 50,
"f": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.wave_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
This capability accepts exactly two of frequency, wavelength, and speed as finite numbers, rejects negative frequency and malformed input with a clear invalid_input error, and returns the complete v equals f lambda triad as structured JSON including which field was solved.
What v = f λ means and which two quantities you need to send
Delivering frequency, wavelength, speed, solved, formula, and method as JSON makes the result easy to paste into notes, diff in automated tests, or reuse across languages without reimplementing the arithmetic.
How this calculator validates input and applies v = f λ
Send a JSON body with exactly two of frequency, wavelength, and speed. Every provided field must be finite: missing all three, only one field, all three at once, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input before any result is returned, and failed validation is not charged. Results are rounded to a stable decimal precision so the same input always yields the same JSON across JavaScript engines.
Practical use, limits, pricing, and delivery channels
Each successful request is one billable item at $0.002; failed validation does not consume balance. Wire the endpoint into waves drills, contest answer checkers, optics and acoustics worksheets, or preprocessing steps where you already prefer explicit domain errors—such as rejecting a negative frequency—over opaque black-box widgets that cannot explain why a bad input was refused.
Integration use cases
Deterministic fixtures for physics tests
Pipelines that seed unit tests or interactive waves demos can call a pure v=fλ oracle instead of reimplementing the wave relation in every language.
Technical questions
How do I calculate wave speed from frequency and wavelength?
Send JSON with frequency and wavelength (for example frequency: 50, wavelength: 2). The response returns speed equal to frequency times wavelength, plus the full triad and solved: "speed".