2BrightSparks

Why is my 1TB Drive 931GB? File Sizes & Transfer Speeds Explained

The size of a file is the amount of data stored in a file, or the measure of space consumed by a file on a storage medium such as an internal / external drive, network drive, FTP server or cloud. File sizes can be measured using a binary system (where kilo means 1024) or metric/decimal system (kilo means 1000).

Data transfer speed is a measure of data that is transferred from one location to another in a given amount of time.

The Foundation: Bits and Bytes

All digital data is built from the smallest possible unit of information:

  • A Bit (b): A single switch that can be either ON or OFF, represented as a 1 or a 0. It's the atom of the digital world.
  • A Byte (B): A group of 8 bits. A single byte can represent one character, like the letter 'A' or the symbol '$'. Because bits are so small, the Byte is the standard unit for measuring file size.

Capitalization is important. A lowercase 'b' is for bits, and an uppercase 'B' is for bytes. This becomes critical when we discuss transfer speeds.

The Great Confusion: Decimal (base-10) vs. Binary (base-2)

Here's the root of the problem. In the real world, "kilo" means 1,000, "mega" means 1,000,000, and so on. This is the decimal (base-10) system. However, computers are built on a binary (base-2) architecture, where everything is a power of 2.

This led to two conflicting ways of defining file sizes:

Decimal Prefixes (SI) Meaning (Powers of 10) Binary Prefixes (IEC) Meaning (Powers of 2)
Kilobyte (KB) 10^3 = 1,000 bytes Kibibyte (KiB) 2^10 = 1,024 bytes
Megabyte (MB) 10^6 = 1,000,000 bytes Mebibyte (MiB) 2^20 = 1,048,576 bytes
Gigabyte (GB) 10^9 = 1,000,000,000 bytes Gibibyte (GiB) 2^30 = 1,073,741,824 bytes
Terabyte (TB) 10^12 = 1,000,000,000,000 bytes Tebibyte (TiB) 2^40 = 1,099,511,627,776 bytes

So, Who Uses What?

  • Hard Drive & SSD Manufacturers sell storage using the Decimal (base-10) system. It's easier for marketing and aligns with standard metric units. So, 1 TB = 1,000,000,000,000 bytes.
  • Operating Systems like Microsoft Windows measure storage capacity using the Binary (base-2) system, because it reflects the computer's architecture. However, they confusingly use the decimal labels.
The "Missing" Space Explained: Your 1 TB hard drive manufacturer sold you 1 trillion bytes. When you plug it into Windows, the OS divides that number not by 1000, but by 1024.

1,000,000,000,000 bytes / 1024 / 1024 / 1024 approx 931.32 GiB

Windows then displays this as "931 GB". The storage is all there, it's just being measured with a different (and larger) yardstick!

The History Behind Windows' Display Convention

So why does the world's most popular operating system use what are now considered misleading labels? This practice is not a bug, but a decades-old industry convention that has been maintained for consistency.

  • It Predates Modern Standards: The convention of using "KB" to mean 1024 bytes was established in the early days of computing, long before the International Electrotechnical Commission (IEC) introduced the official "kibibyte (KiB)" standard in 1998.
  • "Close Enough" Was Good Enough: When dealing with small amounts of memory, the 2.4% difference between 1000 and 1024 was considered negligible. For programmers working in a binary world, 2^10 was a much more natural number to work with than 1000.
  • Legacy and Consistency: By the time the clearer KiB/MiB/GiB standards arrived, hundreds of millions of people were already accustomed to seeing "MB" and "GB" in Windows. Changing the labels would cause massive confusion and break assumptions in older software, so Microsoft has maintained the original convention for consistency.

In short, Windows isn't technically wrong according to the historical conventions it follows (like the older JEDEC memory standards), but it is inconsistent with the modern international standards used by many other platforms today.

Understanding Data Transfer Speeds

Transfer speeds add one more layer to this: bits vs. bytes.

Internet service providers (ISPs), speed testing sites, and networking hardware almost always measure speed in bits per second (bps). However, your web browser or file transfer application usually shows download progress in Bytes per second (Bps).

Remembering that 1 Byte = 8 bits, you can see why a "100 Mbps" internet connection does not give you 100 Megabytes per second of download speed.

The Real-World Calculation

To find your theoretical maximum download speed in Megabytes per second (MB/s), you divide your connection speed in megabits per second (Mbps) by 8.


Example: A 500 Mbps internet connection has a maximum theoretical download speed of 62.5 MB/s (500 / 8 = 62.5).


Just like with file sizes, transfer speeds can also use decimal (MBps) or binary (MiBps) prefixes, but the decimal (base-1000) interpretation is most common in networking.

Case Study: How SyncBack Handles Sizes and Speeds

At 2BrightSparks, we want our software to be both powerful and transparent. In our backup and sync tool, SyncBackPro, we've made specific choices to align with user expectations while maintaining accuracy.

  • File Sizes: SyncBack displays file sizes the same way Windows Explorer does. A file of 1,048,576 bytes is shown as "1 MB". Technically this is 1 MiB (Mebibyte), but we use the common convention to avoid discrepancies between our software and the OS. Windows uses the JEDEC 100B.01 standard.
  • Transfer Speeds: To ensure accuracy, modern versions of SyncBack (V8.5.43.0 and newer) correctly use binary prefixes for transfer speeds (e.g., KiB/s, MiB/s) because the calculations are based on powers of 1024. This gives a true representation of throughput.

Byte Size Converter

To help, below is a small utility to automatically convert between different sizes:

B
KB
KiB
MB
MiB
GB
GiB
TB
TiB

Noted Customers

© 2003-2025 2BrightSparks Pte. Ltd.  | Home | Support | Privacy | Terms | Affiliate Program

Home | Support | Privacy | Terms
© 2003-2025 2BrightSparks Pte. Ltd.

Back to top