Data rate unit converter
Convert data rates without mixing up bits and bytes: 100 Mbps is 12.5 MB/s, and every result says whether decimal or binary prefixes were used. Useful for internet plans, downloads and storage tools. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 100
- From
- Mbps
- To
- MBps
- Result
- 12.5
- From label
- megabits per second (decimal)
- To label
- megabytes per second (decimal)
- From prefix
- decimal
Internet plans, storage tools, and streaming specs mix megabits per second with megabytes per second, and they rarely spell out whether kilo means one thousand or one thousand twenty-four. Marketing copy says one hundred megabit broadband while download managers report megabytes per second; firmware and OS dashboards sometimes switch to kibibytes or mebibytes without warning. This data rate unit converter accepts a finite non-negative rate plus a source and target unit, scales everything through bits per second with either SI decimal prefixes or IEC binary prefixes, and returns a stable numeric result with labels that state which convention was used. It makes the bit-versus-byte distinction explicit: Mbps is megabits, MBps or MB/s is megabytes, and the eight-to-one relationship is applied only when you cross that boundary.
Bits versus bytes and why Mbps is not MB/s
A bit is the atomic unit of digital information; a byte is eight bits by the universal convention used for storage and throughput accounting. Network carriers and ISPs almost always quote link speed in bits per second—kilobits, megabits, or gigabits—because that matches physical signalling rates and product marketing. Application-layer tools more often show bytes per second because files and buffers are sized in bytes.
Converting one hundred megabits per second into megabytes per second is not a cosmetic rename: you divide by eight after accounting for the mega prefix, so one hundred Mbps equals twelve point five megabytes per second under SI decimal scaling. Writing MBps or MB/s when you mean megabits, or the reverse, understates or overstates real throughput by a factor of eight and leads to wrong SLA math, wrong download-time estimates, and wrong CDN bill forecasts.
This converter keeps separate unit identifiers for bit-based codes (bps, kbps, Mbps, Gbps and their binary kibibit forms) and byte-based codes (Bps, kBps, MBps, GBps and kibibyte forms). Case and spelling matter: the lowercase b in Mbps means bits; the uppercase B in MBps or MB/s means bytes. When both sides of the conversion stay in bits or both stay in bytes, only the prefix scale factor is applied.
When you cross from bits to bytes or back, the fixed factor of eight is applied after prefix normalization through a common bits-per-second intermediate so results stay consistent across kilo, mega, and giga steps.
Decimal SI prefixes versus binary IEC prefixes
Two different prefix systems appear in the wild. Telecom and most ISP rate cards use SI decimal prefixes where kilo is one thousand, mega is one million, and giga is one billion: one megabit per second is exactly one million bits per second. Operating systems, some RAID and memory bandwidth tools, and storage-oriented dashboards often use IEC binary prefixes where kibi is one thousand twenty-four, mebi is one thousand twenty-four squared, and gibi is one thousand twenty-four cubed.
Confusing a decimal megabyte per second with a mebibyte per second introduces about a five percent error at the mega scale and grows larger at giga, which is enough to break tight capacity plans. This data rate unit converter therefore exposes both families: kbps, Mbps, Gbps, kBps, MBps, and GBps for decimal SI; Kibps, Mibps, Gibps, KiBps, MiBps, and GiBps for binary IEC, plus plain bps and Bps with no prefix.
Internally every unit maps to an exact bits-per-second factor, the input value is multiplied into that intermediate, then divided by the target factor and rounded to twelve decimal places for stable goldens and reproducible UI.
How to call the converter and where it earns its keep
Examples: convert one hundred Mbps to MBps to see twelve point five megabytes per second; convert one thousand twenty-four Kibps to Mbps to compare binary kibibit link math against a decimal megabit product label; convert two hundred fifty MBps disk throughput to Gbps for fabric planning. Content and education sites that rank for data rate unit converter or Mbps to MB/s get a live tool that also teaches the binary-versus-decimal distinction instead of hiding it.
Network engineers, support desks, and billing ops use it when a customer ticket mixes units or when a vendor datasheet lists binary transfer rates next to decimal marketing rates. Failed validation does not consume balance. Keep requests small, pin rounded results in tests, and you get reproducible bandwidth math without maintaining your own factor tables across teams.
What you can do with it
ISP plan vs download speed
Turn advertised megabit broadband into megabytes per second so customers see realistic download rates without the classic factor-of-eight surprise.
Binary vs decimal dashboards
Reconcile firmware kibibyte or mebibyte throughput with SI megabit marketing labels when capacity planning or writing runbooks.
SLA and ticket math
Convert ticket attachments and vendor PDFs into one unit before calculating transfer windows, CDN cost, or link utilization.
FAQ
How do I convert Mbps to MB/s?
Send value with from set to Mbps and to set to MBps (or MB/s). Under SI decimal scaling, megabytes per second equal megabits per second divided by eight, so 100 Mbps becomes 12.5 MBps.
What is the difference between Mbps and MBps?
Mbps is megabits per second (bits); MBps or MB/s is megabytes per second (bytes). One byte is eight bits, so the same number in megabits is eight times smaller when expressed in megabytes per second.
Which units are accepted?
Bit rates: bps, kbps, Mbps, Gbps, Kibps, Mibps, Gibps.
Why does my download manager show less than my internet plan?
Because plans are quoted in bits per second, while download tools usually show bytes per second. A byte is eight bits, so a 100 Mbps plan corresponds to 12.5 megabytes per second under decimal prefixes.
What is the difference between MB/s and MiB/s?
MB/s uses decimal prefixes, where mega means one million; MiB/s uses binary prefixes, where kibi means one thousand twenty-four and each step multiplies by that. Every result is labelled with the convention used, so you know which one you are reading.
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/dev/data-rate-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":100,"from":"Mbps","to":"MBps"}'const res = await fetch("https://api.kit.forhosting.com/dev/data-rate-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 100,
"from": "Mbps",
"to": "MBps"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/data-rate-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 100,
"from": "Mbps",
"to": "MBps"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/data-rate-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":100,"from":"Mbps","to":"MBps"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":100,"from":"Mbps","to":"MBps"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/data-rate-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 100,
"from": "Mbps",
"to": "MBps"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.data_rate_convert",
"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
Decimal SI prefixes versus binary IEC prefixes
The response echoes the canonical unit codes, human-readable labels that name the prefix convention, a factor field, a bits-per-second intermediate, and a formula string you can show next to the answer. Unknown unit strings fail with invalid_input naming the field; missing or non-finite values and negative rates are rejected the same way and are not billed.
How to call the converter and where it earns its keep
POST a JSON body with three required fields: value (or amount, quantity, or rate) as a finite non-negative number; from (or unit_from or source) as a supported unit string; and to (or unit_to or target) as another supported unit string. The free browser path and the paid API path share the same pure module, so interactive checks match automation.
Technical questions
Do you support binary prefixes like MiB/s?
Yes. Use Kibps, Mibps, Gibps for binary bit rates and KiBps, MiBps, GiBps (or KiB/s, MiB/s, GiB/s) for binary byte rates, where kibi/mebi/gibi use powers of 1024.
What does the data rate unit converter cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.