Frequency calculator
Sound travelling at 340 metres per second with a wavelength of 0.68 metres has a frequency of 500 hertz. Enter the wave speed and the wavelength to get the frequency for sound, strings, pipes, radio or light. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Wave speed
- 340
- Wavelength
- 0.68
- Frequency
- 500 Hz
- Precision
- 10
This frequency calculator returns the wave frequency in hertz from a propagation speed and a wavelength using the classic monochromatic relation f equals v over lambda. Frequency is how many cycles pass a fixed point each second; when speed is in metres per second and wavelength is in metres, the result is exactly in hertz. A zero wavelength is rejected because division by zero is undefined. Typical classroom checks include three hundred forty metres per second over zero point six eight metres for five hundred hertz, and three times ten to the eight over five times ten to the minus seven for a visible-light scale frequency.
Where frequency calculations fit in study, lab work, and software
Students meet f equals v over lambda when a textbook moves from wavelength diagrams to hearing ranges, radio bands, and colour, when a lab asks for the frequency of a string or open pipe from measured length and known wave speed, or when a contest problem gives speed of sound and wavelength and demands hertz without a calculator under the desk. Teachers can pre-generate answer keys for modest inputs without trusting opaque apps that silently switch units or drop scientific notation.
Developers call the same contract from scripts to seed deterministic test vectors for wave simulators, to normalize user-entered speed and length before plotting spectra, or to satisfy programming-challenge statements that demand frequency rather than a hand-waved sketch. Product and education tools use the relation when a learner types metres per second and metres and the UI must show hertz with a clean formula reminder.
What you can do with it
Homework and lab checks
Convert textbook wave speed and wavelength into frequency in hertz before graphing, hearing-range comparisons, or pipe and string labs.
Tutoring and education software
Normalize user-entered speed and wavelength into frequency for interactive lessons and answer keys.
FAQ
What does the frequency calculator cost?
It is free in your browser on this page.
How is frequency defined here?
For wave speed v and wavelength λ with λ ≠ 0, f = v / λ. With SI inputs (m/s and m) the result is in hertz (Hz).
Does this tool compute period or angular frequency?
No. It only returns f = v / λ.
Why are results rounded to a precision?
Default precision is 10 decimal places; you can set precision from 0 to 15.
Do the speed and the wavelength need the same units?
They need matching units: metres per second with metres gives hertz directly. If you work in another length unit, use it for both the speed and the wavelength so that the lengths cancel.
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/frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wave_speed":340,"wavelength":0.68}'const res = await fetch("https://api.kit.forhosting.com/phys/frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wave_speed": 340,
"wavelength": 0.68
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wave_speed": 340,
"wavelength": 0.68
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wave_speed":340,"wavelength":0.68}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wave_speed":340,"wavelength":0.68}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"wave_speed": 340,
"wavelength": 0.68
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.frequency",
"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.
Limits
max_abs_wave_speed | 1000000000000000 |
max_abs_wavelength | 1000000000000000 |
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
What the wave relation means and what the response contains
Every travelling wave that keeps a constant shape at constant speed links three scalars: the speed of propagation v, the spatial period called the wavelength lambda, and the temporal rate called the frequency f. The identity is simply f equals v divided by lambda, which is the same statement as v equals f times lambda. Physically, if crests are spaced one metre apart and the pattern advances at three hundred forty metres per second, five hundred crests pass each second. This calculator takes wave_speed and wavelength, validates them as finite numbers inside the documented magnitude ceilings, and returns the rounded inputs, the frequency in hertz under SI assumptions, the precision used, a method tag wave_frequency, a short formula string, and the unit label Hz. There is no approximate spectral estimation, no FFT of an audio buffer, and no random sampling of periods: the engine either builds an exact floating-point quotient or rejects the input with invalid_input. Rejected cases include missing fields, non-finite values, magnitudes above the ceiling, and any wavelength that is zero or numerically zero, because f equals v over zero is undefined. If you need period instead of frequency, invert the result yourself with T equals one over f after a successful call; if you need Doppler shifts, standing-wave modes, or refractive indices, use those dedicated tools.
How wave speed and wavelength are read and how f stays reproducible
Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong frequency. The preferred fields are wave_speed for the propagation speed and wavelength for the spatial period, but aliases v, speed, velocity, and c for the speed, and lambda, wavelength_m, and L for the wavelength, are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Zero for wave_speed is valid and simply yields zero frequency. Wavelength must be non-zero: if absolute wavelength is at or below a tiny epsilon, the request fails with invalid_input because division by zero is not a frequency. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for wave_speed, wavelength, and frequency, defaulting to ten and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing the division yourself.
Where frequency calculations fit in study, lab work, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair it with period or wavelength helpers when you need related wave steps, and with other physics endpoints when you are building a small lab of free, deterministic calculators.
Integration use cases
Deterministic test fixtures
Generate reproducible f values for unit tests, property checks, and CI assertions in wave or audio simulators.
Technical questions
What happens if wavelength is zero?
The input is rejected with invalid_input. Wavelength = 0 makes f = v / λ undefined (division by zero).