Mbps vs MB/s: Why the Difference Matters
Mbps counts bits, MB/s counts bytes, and one byte is eight bits. This guide gives the conversion, shows the eightfold error it prevents, and covers the second trap of decimal against binary units.
Published 2026-08-11 · Updated date pending
The short answer
One byte is eight bits. NIST states it directly: “one byte = 2^3 bit = 8 bit”. So a connection advertised at 20 Mbps moves 2.5 MB/s, and a file described as 2.5 MB is 20 megabits.
Get the two the wrong way round and every transfer estimate is out by a factor of eight — a 66-minute upload becomes an 8-minute one on paper, and then does not. The Video Upload Time Calculator does the conversion for you and accepts speeds in either form.
The conversion
bytesPerSecond = bitsPerSecond / 8
bitsPerSecond = bytesPerSecond x 8
The capital letter is the entire notation. Mbps — lower-case b — is megabits per
second. MB/s — capital B — is megabytes per second. They differ by eight.
| Advertised | In bytes per second |
|---|---|
| 10 Mbps | 1.25 MB/s |
| 20 Mbps | 2.5 MB/s |
| 50 Mbps | 6.25 MB/s |
| 100 Mbps | 12.5 MB/s |
| 1 Gbps | 125 MB/s |
Worked example: the eightfold error
A 10 GB export on a 20 Mbps upload connection.
Done correctly, in bits:
bitsToSend = 10 000 000 000 bytes x 8 = 80 000 000 000 bits
effectiveBps = 20 000 000 bps
duration = 80 000 000 000 / 20 000 000 = 4 000 s = 1:06:40
Done with the units mixed up — treating 20 Mbps as 20 MB/s:
duration = 10 000 000 000 / 20 000 000 = 500 s = 0:08:20
Eight minutes and twenty seconds against one hour, six minutes and forty seconds. Same file, same connection, one missing division. Expressed the other way, 20 Mbps is 2,500,000 bytes per second, and 10,000,000,000 / 2,500,000 is 4,000 seconds — the correct answer arrived at from the byte side.
Both correct forms reproduce in the Video Upload Time Calculator, which is why it offers byte-based speed units explicitly rather than making you convert.
Why the two units both exist
The split is not arbitrary. It follows what each thing counts.
Networks are specified in bits. RFC 791 specifies IPv4 header and datagram lengths in octets and header length in 32-bit words; link rates, serial rates and throughput are conventionally counted in bits per second all the way up the stack. AWS, documenting its own product, states instance network bandwidth in gigabits per second — “up to 10 Gbps”, “12 Gigabit”, “25 Gigabit”.
Storage is specified in bytes. A file is a count of bytes; so is a card’s capacity; so is anything a file manager reports.
A transfer sits between the two, which is exactly why the factor of eight has to be applied somewhere, and why it is so often applied nowhere.
The second trap: decimal against binary
Even once bits and bytes are straight, MB itself is ambiguous, and NIST’s note is
the reference that resolves it.
In SI, kilo is 10^3, mega is 10^6 and giga is 10^9. The binary quantities have their own names and symbols, derived by “retaining the first two letters … and adding the letters ‘bi’”: kibi (Ki) for 2^10, mebi (Mi) for 2^20, gibi (Gi) for 2^30.
So:
1 GB = 1 000 000 000 bytes
1 GiB = 1 073 741 824 bytes
A difference of about 7.4%. This is why a drive sold as 1 TB reports less than 1 TB in software that uses binary units, and why this project uses decimal units by default and labels binary units with their binary names. Bitrates have no binary variant at all: a megabit per second is 1,000,000 bits per second.
Where the mistake actually costs you
- Upload and download estimates. The eightfold error above. This is the common one.
- Card write-speed checks. A 100 Mbps recording mode needs 12.5 MB/s of sustained write. Comparing “100” against a card’s “30” without converting suggests the card cannot cope, when in fact 30 MB/s has ample margin over 12.5 MB/s. See how long you can record.
- Reading a progress indicator. A transfer showing 2.5 MB/s on a 20 Mbps link is running at full rate, not at an eighth of it.
What this does not tell you
- It does not predict throughput. The conversion is exact; whether your link delivers its advertised rate is a separate question, and AWS’s own “up to” language is a reminder that an advertised figure is a ceiling.
- It does not cover protocol overhead. Headers travel with your data and are additional to the payload. How to calculate video upload time covers that.
- It says nothing about which unit a given application means. Some report MB/s,
some Mbps, some MiB/s. Read the capital letter, and the
i.
Frequently asked questions
How many MB/s is 100 Mbps?
12.5 MB/s. Divide the megabits figure by eight.
Why is my download showing 2.5 MB/s on a 20 Mbps connection?
Because that is the same speed. 20 megabits per second is 2.5 megabytes per second. The connection is delivering its advertised rate.
Is 1 MB always 1,000,000 bytes?
Not always in practice, which is the problem. NIST defines mega as 10^6, so 1 MB is
1,000,000 bytes, and gives the separate name mebibyte with symbol MiB for 2^20 =
1,048,576 bytes. Some software reports the binary quantity under the decimal symbol.
This site uses decimal by default and labels binary units as MiB, GiB and so on.
Which should I enter into the upload calculator?
Either. The connection speed field takes bit-based units by default, because that is how connections are advertised, and offers byte-based units as an explicit alternative. Choose the one matching the number you have.
Does the difference apply to bitrate too?
Yes, and it is the same factor of eight. A 12 Mbps video bitrate produces 1.5 MB of data per second, so ten minutes is 900 MB before audio.
Sources
- Definitions of the SI units: The binary prefixes — NIST. https://physics.nist.gov/cuu/Units/binary.html. Accessed and verified 2026-08-11. Supports one byte being eight bits, the SI meanings of kilo, mega and giga, and the kibi, mebi and gibi binary prefixes with their symbols.
- Amazon EC2 instance network bandwidth — Amazon Web Services. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html. Accessed and verified 2026-08-11. Supports network bandwidth being stated in gigabits per second and the documented “up to” and baseline structure.
- RFC 791: Internet Protocol — IETF / RFC Editor. https://www.rfc-editor.org/rfc/rfc791. Accessed and verified 2026-08-11. Supports header and datagram lengths being specified in octets and 32-bit words.
Related guides and tools
- Video Upload Time Calculator — the tool this guide explains.
- How to calculate video upload time — the full transfer calculation, including overhead.
- How long can you record on 64GB, 128GB, 256GB and 1TB? — where the same factor of eight decides whether a card keeps up.