# Data Transfer Time

> Data transfer time tells you how long a file takes to send: divide its size by the link's speed, using units that match.

Page: https://formulabro.yunusemrevurgun.com/computer-science/data-transfer-time/  
Category: Computer Science  
Published: 2026-10-22  
Updated: 2026-10-22

## Formula

$$
t = \frac{S}{B}
$$

Read it out loud: "t, the transfer time in seconds, equals S divided by B. S is the size of the data, in bits, and B is the bandwidth, in bits per second. The units must match, so convert megabytes to megabits before dividing. The time is measured in seconds."

## Before you start

- **Powers of ten, like $10^{6}$**: A power of ten is 10 multiplied by itself a set number of times. $10^{6}$ means 10 six times over, which is 1,000,000, a million. A number such as 500 million can be written as $5 \times 10^{8}$, which means 5 with the decimal point moved 8 places to the right. A negative power means divide, so $10^{-3} = 0.001$.
- **Bit and byte**: A **bit** is a single binary digit, 0 or 1. A **byte** is 8 bits in a row, and one byte can store one letter of plain text. File sizes are usually counted in bytes, while network speeds are usually counted in bits. In unit names, a lowercase b means bits and an uppercase B means bytes.
- **Megabit and megabyte**: The prefix **mega**, written M, means one million, $10^{6}$. So 1 megabyte (MB) is 1,000,000 bytes, and 1 megabit (Mb) is 1,000,000 bits. Because a byte is 8 bits, 1 MB equals 8 Mb, and that factor of 8 is the source of most mistakes on this page.
- **Bits per second**: A speed in **bits per second**, written bps, says how many bits a link moves every second. 100 Mbps means 100 megabits per second, which is $100 \times 10^{6}$ bits every second. The word 'per' means divide by, so bits per second is bits divided by seconds.
- **Latency, the delay before the first bit**: **Latency** is the delay between sending a message and its first bit arriving. It is often measured in milliseconds, where a millisecond (ms) is one thousandth of a second, $10^{-3}$ s. A latency of 50 ms is 0.05 seconds, because $50 \times 10^{-3} = 0.05$.
- **Units that cancel**: When you divide one quantity by another, matching units cancel out. Megabits divided by megabits per second leaves seconds, because the megabits cancel and the 'per second' turns into a time. This is how we know the answer is a time, and the check is one of the most useful habits in this page.

More notation help: https://formulabro.yunusemrevurgun.com/math-basics/

## What each symbol means

- $t$: The **transfer time**, measured in **seconds**. It is the time from the start of sending until the last bit arrives, in the simple model that leaves out latency. A time of 40 seconds is less than one minute.
- $S$: The **size** of the data, in **bits** or bytes, depending on the bandwidth unit you use. A 500 MB file is 4000 megabits, because each byte is 8 bits. Sizes of files are usually given in bytes, so check which unit you have before dividing.
- $B$: The **bandwidth**, the rate the link can carry, in **bits per second**. For example, 100 Mbps means 100 million bits every second. A higher $B$ means the data arrives sooner, and doubling $B$ halves the time.

## The formula piece by piece

- $S$: The amount of data to send, measured in bits when $B$ is in bits per second. A file of 500 MB is 4,000 megabits, so $S = 4000$ Mb when the link speed is given in megabits per second.
- $B$: The rate the link carries, measured in bits per second. Doubling $B$ doubles the number of bits moved each second, so the same file takes half as long to arrive.
- $\frac{S}{B}$: Divide the amount by the rate. Bits divided by bits per second leaves seconds, because the bits cancel out. The result is the time needed to move the whole amount at a steady rate.
- $t = \frac{S}{B}$: The whole formula in one sentence: **the transfer time equals the size of the data divided by the bandwidth, when both use matching units.**
- $t_{\text{total}} \approx \text{latency} + \frac{S}{B}$: A fuller standard estimate. The total time is roughly the delay before the first bit plus the time needed to move the data. For one large file the delay is a small part of the total, while for many small files the delays add up.

## What the formula is doing, and why

Transfer time answers one practical question: how long will it take to send a file? You divide the amount of data by the rate at which the link moves it. The result is in seconds only when the units match, such as bits divided by bits per second.

**Why divide?** The link moves a fixed number of bits every second, so the time for an amount of data is that amount divided by the rate. The formula $t = \frac{S}{B}$ shows two simple effects. Doubling the bandwidth halves the time, and doubling the file size doubles it. Bandwidth is the rate the link can carry, not a speed every transfer reaches, so a real transfer often runs slower.

**Why do bits and bytes cause mistakes?** A byte is 8 bits, so 1 MB (megabyte) equals 8 Mb (megabits). File sizes are usually given in bytes, while network speeds are given in bits per second. Multiply the size in megabytes by 8 to get megabits before dividing by a speed in megabits per second.

**What the formula leaves out.** The formula leaves out latency, the delay before the first bit arrives, and it assumes the link runs at a steady rate. A fuller estimate is $t_{\text{total}} \approx \text{latency} + \frac{S}{B}$. For one large file, latency is a small part of the total. For many small files, each one pays the delay, and latency can take up most of the time.

## An everyday picture

Think of filling a bathtub from a tap. The amount of water is the file size, and the tap's flow rate is the bandwidth. A bigger tub at the same flow takes longer, and a stronger tap fills the same tub sooner. The time to fill is the amount divided by the flow rate.

## Worked example: Downloading a 500 MB file on a 100 Mbps link

A 500 MB file, such as a movie, is sent over a link that carries 100 megabits per second (100 Mbps). We ignore latency and protocol overhead, which is the extra data networks add, so this is the simplest estimate. We want the time in seconds.

1. **Write the inputs with their units.** The size is $S = 500$ MB, a count of megabytes, and the bandwidth is $B = 100$ Mbps, a rate in megabits per second. The units do not match, because one counts bytes and the other counts bits. We must convert before dividing.
2. **Convert the size from bytes to bits.** Each byte is 8 bits, so each megabyte is 8 megabits: $500 \text{ MB} \times 8 = 4000 \text{ Mb}$. The file is 4,000 megabits, which is in the same unit as the link's rate.
3. **Divide the size by the bandwidth.** $t = \frac{4000 \text{ Mb}}{100 \text{ Mb/s}} = 40 \text{ s}$. The megabits cancel, and what is left is seconds. Here $\text{Mb/s}$ means megabits per second.
4. **Turn 40 seconds into a plain time.** 40 seconds is less than one minute. At a steady 100 Mbps, a 500 MB movie file takes about 40 seconds to arrive, if no other traffic slows it down.
5. **Check the answer the wrong way, to see the trap.** Dividing 500 by 100 gives 5 seconds. That is 8 times too small, because 500 counts megabytes while 100 counts megabits per second, so we divided by the wrong unit. The number $\frac{500}{100}$ is not the answer.
6. **Add the latency.** A latency of 50 ms is $\frac{50}{1000} = 0.05$ s, because a millisecond is one thousandth of a second. Adding it to the 40 seconds gives $40 + 0.05 = 40.05$ s. The latency changes the total by only a little for one large file.
7. **Confirm with the speed in megabytes.** A link of 100 Mbps moves $\frac{100}{8} = 12.5$ MB every second. Then $\frac{500 \text{ MB}}{12.5 \text{ MB/s}} = 40$ s, which is the same answer. Two routes agree, so the answer is reliable.

**Answer:** The download takes about **40 seconds**, or 40.05 seconds with a 50 ms latency. Dividing 500 MB by 100 Mbps directly would give 5 seconds, which is off by a factor of 8, because the size is in bytes and the speed is in bits.

## Common mistakes

- Mixing bits and bytes. Dividing 500 MB by 100 Mbps gives 5 seconds, which is wrong by a factor of 8. Convert the file size to megabits first.
- Confusing megabit (Mb) with megabyte (MB). One megabyte is 8 megabits, so a 100 Mbps link moves about 12.5 MB per second at most.
- Forgetting latency for many small transfers. A thousand small files each wait for a delay, which can take far longer than the total size suggests.
- Treating the advertised bandwidth as the speed you always get. Congestion, Wi-Fi and protocol overhead all lower the real rate.

## Where you will meet it

- Estimating how long a software update or video download will take on a home connection.
- Planning backups, where a large data set must finish within a fixed time window.
- Sizing network links between data centers, and deciding when shipping disks is faster than sending data over the network.
- Checking whether a video stream's bit rate fits within a connection's bandwidth.

## Questions people ask

### Why is my download slower than the advertised speed?

The advertised figure is the link's rated bandwidth $B$. Congestion, Wi-Fi, server limits and protocol overhead reduce the rate you really get, so the real time is longer than $\frac{S}{B}$.

### How many bits are in a byte?

Eight. So 1 MB is 8 megabits, and a speed of 8 Mbps moves about 1 MB per second before overhead.

### Is a megabyte 1,000,000 bytes or 1,048,576 bytes?

In storage and network speeds, 1 MB is usually 1,000,000 bytes. The binary unit, 1 MiB, is $2^{20} = \text{1,048,576}$ bytes. Some operating systems display sizes in binary units under the name MB, so the numbers can differ.

## Related formulas

- [Bandwidth-Delay Product](https://formulabro.yunusemrevurgun.com/computer-science/bandwidth-delay-product/)
- [Shannon-Hartley Theorem](https://formulabro.yunusemrevurgun.com/computer-science/shannon-hartley-theorem/)
- [Binary Number Value](https://formulabro.yunusemrevurgun.com/computer-science/binary-number-value/)

## Sources

- [Bit rate, Wikipedia](https://en.wikipedia.org/wiki/Bit_rate)
- [Byte, Wikipedia](https://en.wikipedia.org/wiki/Byte)

From Formula Bro (https://formulabro.yunusemrevurgun.com/), a side project developed by yunusemrevurgun.com.
