WiFi channel frequency calculator for 2.4 GHz and 5 GHz
This WiFi channel frequency calculator converts a channel number into its center frequency, or resolves an exact center frequency back to a channel, for the 2.4 GHz and 5 GHz bands.
Run — free
It can also compare two nominal channel footprints and report their center separation and shared spectrum. That makes it useful for checking configuration files, documenting access-point plans, and catching accidental co-channel or adjacent-channel interference before equipment is installed. Results are deterministic and require no network lookup.
Convert a channel number or center frequency
Start by selecting the 2.4 GHz or 5 GHz band, because a channel number has meaning only inside a band plan. Then provide exactly one starting value: either channel or frequency_mhz. With a channel, the calculator returns its center frequency. With a frequency, it verifies that the number is an exact supported center and returns the corresponding channel. The result also includes the nominal lower and upper edges implied by the selected width. Those edges are planning values, not a promise that real radio energy stops sharply at that boundary. For 2.4 GHz, channels 1 through 13 follow five-megahertz spacing, while channel 14 has the special center frequency of 2484 MHz. The 5 GHz calculation uses the standard channel-number relationship and accepts the supported center-channel set represented by this tool. Regulatory availability is deliberately separate: a mathematically valid channel may still be unavailable in your country, device, indoor or outdoor setting, or configured channel width.
Interpret the overlap calculation
Add compare_channel when you want to assess two planned assignments. The calculator creates a nominal frequency interval around each center using width_mhz and compare_width_mhz, then measures the intersection. An overlap_mhz value greater than zero means the intervals share spectrum; overlaps is false when they are separated or merely touch at an edge. Center_separation_mhz helps you review the spacing independently of width. This interval method is intentionally transparent and works for comparisons within one band or across the two bands. It is especially useful for spotting why nearby 2.4 GHz channel numbers interfere: their centers are only five megahertz apart even though a common channel footprint is twenty megahertz wide. Remember that overlap is not the same as predicted performance. Transmit power, antenna placement, walls, neighboring networks, client capabilities, contention, and spectral masks all affect the result observed on site. Use this calculation to screen a channel plan, and use a spectrum survey to validate the deployed environment.
Plan deployments with realistic constraints
For a small deployment, calculate every intended access-point channel and compare assignments used by nearby radios. In 2.4 GHz networks, give special attention to adjacent-channel overlap and reuse sufficiently separated channels where local regulations permit. In 5 GHz networks, record both the primary channel and configured width, because wider 40, 80, or 160 MHz operation occupies much more spectrum than a single 20 MHz center suggests. The calculator accepts widths up to 160 MHz so that the interval comparison can represent those broader assignments, but it does not construct bonded-channel blocks or decide which primary channels are legal for a particular width. It also does not evaluate dynamic frequency selection, weather radar restrictions, automatic channel selection, or country-specific power limits. Those rules change by regulatory domain and hardware. Treat the output as a stable arithmetic layer for inventory systems, infrastructure-as-code checks, wireless design worksheets, and change reviews. At $0.002 per API request, the same calculation can be automated without embedding another lookup table in every internal tool.
What you can do with it
Review an access-point channel plan
Compare nearby radios and flag assignments whose nominal channel footprints share spectrum before installation.
Validate configuration data
Convert stored channels to frequencies, or confirm that imported frequency values map to exact supported WiFi centers.
Document wireless inventory
Add consistent center frequencies, occupied edges, widths, and channel numbers to deployment records and change reviews.
FAQ
What does an API request cost?
Each API request costs $0.002. The calculation is deterministic and does not call an external service.
Does a valid channel mean I may use it in my country?
No. Regulatory domain, indoor or outdoor use, device certification, radar rules, and local power limits determine availability.
Why must I specify the band?
Channel numbers are interpreted within a band plan. The band removes ambiguity and lets the input be validated correctly.
How is overlap calculated?
Each channel is represented as a nominal interval centered on its frequency. The tool returns the width of the intersection between the two intervals.
Does overlap predict throughput or interference severity?
No. It reports nominal spectral overlap only. Signal strength, contention, spectral masks, antennas, obstacles, and other transmitters affect real performance.
Does the calculator support 6 GHz WiFi?
No. This capability is limited to the 2.4 GHz and 5 GHz bands.
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/dev/wifi-channel-freq \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"band":"2.4","channel":6}'const res = await fetch("https://api.kit.forhosting.com/dev/wifi-channel-freq", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"band": "2.4",
"channel": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/wifi-channel-freq",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"band": "2.4",
"channel": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/wifi-channel-freq", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"band":"2.4","channel":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"band":"2.4","channel":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/wifi-channel-freq", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"band": "2.4",
"channel": 6
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.wifi_channel_freq",
"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. |