NM converter
Find the frequency behind a laser, LED or filter wavelength: 500 nm green light is 599.584916 terahertz, worked out by dividing the exact speed of light, 299792458 meters per second, by the wavelength. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Nm
- 500
- Result
- 599,584,916,000,000 Hz
- Wavelength m
- 0.0000005
- Frequency
- 599,584,916,000,000
- Hz
- 599,584,916,000,000
An NM converter turns an optical wavelength written in nanometers into the electromagnetic frequency of that wave using the vacuum speed of light. Approximate 3×10⁸ shortcuts are unnecessary: the constant is the exact SI definition of c.
Why nanometers and hertz meet at f = c / λ
Electromagnetic waves in vacuum obey the exact identity that frequency equals the speed of light divided by wavelength. Nanometers are the unit printed on laser-diode bags, LED bins, interference-filter engravings, and spectrophotometer wavelength axes, while hertz (and its multiples THz and GHz) is the SI unit of frequency used in cavity design, beat-note calculations, and radio-to-optical comparisons. One nanometer is exactly 10⁻⁹ metres by SI prefix.
The vacuum speed of light is the exact SI definition 299792458 metres per second, not a rounded three-times-ten-to-the-eight shortcut. Substituting λ in metres equal to the nanometer value times 10⁻⁹ into f equals c over λ yields frequency in hertz equal to 299792458 divided by that metre length, which is the same as 2.99792458×10¹⁷ divided by the nanometer number. A 500 nm green line is therefore 5.99584916×10¹⁴ hertz, about 599.585 terahertz.
A 632.8 nm helium–neon laser sits near 4.738×10¹⁴ hertz. Once vacuum and a single wavelength are chosen, frequency is determined; there is no extra fitting constant. This landing does not convert photon energy in electronvolts or spectroscopic wavenumber in reciprocal centimetres: it answers the search nm converter when the wanted output is hertz.
Wavelength must be strictly positive. Zero would divide by zero, so frequency is undefined. A negative length is not a physical wavelength.
Non-numeric strings fail the same way so a form typo never becomes a silent NaN in a downstream chart.
Practical checks, optical bands, and related searches
Round-trip sanity checks are easy if you already know a few textbook lines: convert 500 nm and confirm about 5.996×10¹⁴ hertz (599.585 THz), convert 632.8 nm for a helium–neon laser and confirm roughly 4.738×10¹⁴ hertz, or convert 1550 nm for the telecom C-band and confirm a frequency near 1.935×10¹⁴ hertz. Visible light spans roughly 380 nm to 750 nm, which maps to several hundred terahertz; near-infrared telecom windows sit lower in frequency because wavelength is longer.
Stay inside the published range so the quotient cannot overflow into a non-finite result the solver must reject. This landing targets people searching for nm converter, nanometer to hertz, or wavelength in nm to frequency; it is not a general photon-energy hub spanning eV and cm⁻¹, not a custom-medium wave-speed calculator, and not a frequency-to-wavelength RF worksheet in metres. Prefer this capability when the input is already in nanometers and you only need hertz.
Pin the rounded frequency fields in automated tests so homework generators, spectrometer exporters, and edge workers never disagree on floating presentation of the same exact SI identity.
What you can do with it
Laser and LED datasheet checks
Convert a printed peak wavelength in nanometers on a laser-diode or LED bag into the corresponding optical frequency in hertz and terahertz for cavity or beat-note work.
Spectroscopy homework and lab reports
Students convert spectrophotometer wavelength settings in nm to frequency in hertz and compare hand work against deterministic substitution steps before submitting.
Photonics and telecom scripts
Map 1310 nm and 1550 nm channel labels to hertz in design notebooks and test harnesses without hand-dividing the speed of light.
FAQ
Why are zero and negative wavelengths rejected?
Frequency f = c / λ is undefined when λ is zero (division by zero), and a negative length is not a physical wavelength.
Why is the frequency so large compared with radio hertz?
Visible and near-infrared wavelengths are hundreds of nanometers, so c / λ sits in the 10¹⁴ hertz (hundreds of terahertz) band.
What frequency is 500 nm green light?
It is 599.584916 terahertz, or 599584916000000 hertz. The converter turns 500 nm into meters and divides the exact speed of light, 299792458 meters per second, by that length.
What frequency do a helium-neon laser and a 1550 nm telecom laser have?
A 632.8 nm helium-neon laser sits near 4.738×10¹⁴ hertz, and a 1550 nm telecom laser near 1.935×10¹⁴ hertz. Longer wavelengths always mean lower frequencies.
Does it give photon energy in electronvolts or wavenumbers?
No. It returns frequency only, in hertz together with the same value in terahertz and gigahertz. Photon energy in electronvolts and wavenumber in reciprocal centimeters need a different tool.
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/conv/nm-converter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nm":500}'const res = await fetch("https://api.kit.forhosting.com/conv/nm-converter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nm": 500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/nm-converter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nm": 500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/nm-converter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nm":500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nm":500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/nm-converter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"nm": 500
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.nm_converter",
"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_nm | 1000000000000 |
max_abs_frequency | 1e+24 |
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
Zero, negative, or non-numeric wavelengths fail with invalid_input because frequency would be undefined or physically meaningless.
Why nanometers and hertz meet at f = c / λ
Both fail as invalid_input rather than a hollow success.
How to call the API and what comes back
The value must be strictly positive and must stay within the published nanometer ceiling. Send a JSON body with one required finite number field named nm. Aliases wavelength_nm, wavelength, nanometers, nanometre, nanometres, lambda_nm, and value are accepted so SDK clients and form posts can use the name that fits the product. On success the response echoes the rounded nm, reports wavelength_m in metres, and sets frequency, hz, and result to the same rounded hertz magnitude. Companion fields frequency_thz and frequency_ghz restates the same wave on optical and microwave-adjacent scales. speed_of_light is the exact integer 299792458, formula restates f equals c over λ with the nanometer-to-metre scale, unit is the token Hz, from_unit is nm and to_unit is Hz, message is a short English summary, and steps is an ordered array of substitution lines you can show next to a lab calculation. Failed validation—missing nm, non-numeric strings, non-finite values, zero, negative wavelengths, values outside the absolute ceiling, or a non-finite converted frequency—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Prefer bare JSON numbers when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without unit suffixes, thousand separators, or the letters nm glued onto the digits.
Practical checks, optical bands, and related searches
Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately send zero, a minus sign, or a text label.
Technical questions
How do I convert nanometers to hertz?
Send a positive finite number in the nm field (or aliases wavelength_nm, wavelength, nanometers, nanometre, nanometres, lambda_nm, value). The API returns f = c / λ with λ = nm × 10⁻⁹ m and c = 299792458 m/s.
Which speed of light does the NM converter use?
The exact SI vacuum value c = 299792458 m/s. It does not use the rounded 3×10⁸ shortcut and does not accept a custom medium speed on this landing.
What does the NM converter cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.