Your new 1 TB SSD shows 931 GB in Windows, the 2 TB drive only 1.81 TB, and the 100 Mbit/s line never gets past 12.5 MB/s. Nothing went missing: the box, the operating system and the speed test simply measure with different rulers.
The short answer
Why does a 1 TB SSD show only 931 GB? Drive makers count in powers of ten, so 1 TB is 1,000,000,000,000 bytes, while Windows counts in powers of two (1,073,741,824 bytes per "GB") and still labels the result GB [10][12]. The correct name for that binary unit is gibibyte, GiB [1], and 1 TB is 931.32 GiB (our calculation). Why does a 100 Mbit/s line deliver at most 12.5 MB/s? Line speeds count bits, file sizes count bytes, and one byte has eight bits [1]. Protocol overhead and binary display shave off a little more, so 11 to 12 "MB/s" in a download window is normal on such a line (our calculation).
How it works
- Two prefix families, both official. The SI prefixes kilo, mega, giga and tera stand for exactly 10^3, 10^6, 10^9 and 10^12. The BIPM, which maintains the International System of Units, states that SI prefixes refer strictly to powers of ten and must not be used for powers of two: a kilobit is 1000 bits, not 1024 [3]. For powers of two, the IEC approved its own prefixes in December 1998: kibi (Ki), mebi (Mi), gibi (Gi), tebi (Ti), pebi (Pi) and exbi (Ei) [1]. A kibibyte is 1024 bytes, a mebibyte 1,048,576 bytes, a gibibyte 1,073,741,824 bytes and a tebibyte 1,099,511,627,776 bytes [1][6]. Today the binary prefixes are part of IEC 80000-13; its second edition of 11 Feb 2025 replaced the 2008 edition and added new binary prefixes [2]. One more trap hides in a single letter: the binary prefix uses a capital K (KiB), the SI kilo a lowercase k (kB), and the GNU coreutils manual notes that tradition and POSIX still use "k" to mean KiB [6].
- Who counts how. Hard drive and SSD makers count in decimal. Seagate's product manual defines one gigabyte as one billion bytes and one terabyte as one trillion bytes [11]. Samsung says its SSDs follow the IDEMA standard and express 1 GB as 1,000 MB, while the operating system calculates with 1,024 MB [13]. Memory chips are the exception: JEDEC, the standards body for semiconductor memory, defines kilo (K) as 1024 and mega (M) as 1,048,576 for the capacity of semiconductor storage [4][5]. A 16 GB RAM kit therefore holds 16 GiB, or 17,179,869,184 bytes (our calculation). JEDEC itself quotes the standard IEEE/ASTM SI 10, which calls this practice confusing and deprecated, and points to the IEC prefixes [4]. Data rates, on the other hand, are decimal: in JEDEC's own example, 1 kb/s is 1000 bits per second [5]. The 1.44 MB floppy disk even mixes both worlds. Its "megabyte" is 1,024,000 bytes according to JEDEC [4], so the disk holds 1,474,560 bytes, which is 1.47 MB or 1.41 MiB (our calculation).
- What the operating systems show. Seagate names Windows among the programs that use the binary system, along with FDISK, the system BIOS and older versions of macOS [10]. Its table shows how Windows displays a 500 GB drive as 465 GB, a 1 TB drive as 931 GB and a 5 TB drive as 4.54 TB [10]. Microsoft's own documentation for the MBR2GPT tool lists a Seagate ST1000DM003, a 1 TB drive, as 931.51 GB in PowerShell and as 931 GB in DiskPart [12]. Apple names iOS 10 and earlier and OS X Leopard and earlier as systems that report capacity in binary [9], and Seagate's table lists the macOS figures in decimal [10]. On Linux it depends on the tool:
df -hcounts in powers of 1024,df --siin powers of 1000 [6]. The manual says the SI variant appends a "B", yet in our test with GNU coreutils 9.4 both wrote a bare "G" (252G and 271G for the same file system), so the option, not the letter, tells you the unit.lsblkalso uses powers of 1024 and shortens "KiB" and "MiB" to "K" and "M" [7]. The GLib library of the GNOME desktop formats sizes with base 1000 by default [8]. - The gap grows with every step. Each binary step multiplies by 1024 instead of 1000, so the difference compounds: a KiB is 2.40 % larger than a kB, a MiB 4.86 % larger than an MB, a GiB 7.37 % larger than a GB and a TiB 9.95 % larger than a TB (our calculation). Seen from the drive label, a capacity in TB shows up 9.05 % smaller as TiB, before a single file is stored.
- Cut off, not rounded. Seagate's examples drop digits instead of rounding them: 5,000,000,000,000 bytes are 4.5475 TiB, and the table says 4.54 TB, not 4.55 [10]. 500 GB are 465.66 GiB and appear as 465 GB (our calculation). The table also lists a 2 TB drive, 1.8190 TiB by our calculation, as 1.81 TB rather than 1.82 TB [10]. On top of that, partitions and the file system need space of their own; Apple notes that the actual formatted capacity is less than the figure on the box [9].
- Bits are not bytes. In Germany, the Bundesnetzagentur describes contracted internet speeds in Mbit/s, megabits per second [15]. One byte has eight bits [1], so 100 Mbit/s are at best 12.5 MB/s. Watch the letter case: JEDEC writes kb/s for kilobits per second [5], and B is the symbol for byte [1]. A program that counts in binary units turns the same 12.5 MB/s into 11.92 MiB/s, and if it labels that figure "MB/s", the line looks slower than it is (our calculation).
- Overhead takes a few percent. Every network packet carries headers. NetApp lists the pieces for Ethernet with TCP: 12 bytes inter-frame gap, 8 bytes preamble, 14 bytes Ethernet header, 4 bytes frame check sequence, 20 bytes IP header, 20 bytes TCP header and 12 bytes TCP options [16]. With the usual 1,500-byte packets, 1,448 of every 1,538 bytes on the wire are payload, which is 94.15 % (our calculation, not a measurement). On a gigabit link that leaves 117.69 MB/s; NetApp puts the practical figure without jumbo frames at around 116 MB/s [16]. DSL, cable and fibre lines use different framing, so treat these figures as a guide, not as a promise. To compare your fixed line with the contract, the Bundesnetzagentur offers its Breitbandmessung with a desktop app [14][15].
Quick reference: storage (our calculation, rounded to two or four decimals)
| On the label | Exact bytes | Binary value |
|---|---|---|
| 500 GB | 500,000,000,000 | 465.66 GiB |
| 1 TB | 1,000,000,000,000 | 931.32 GiB |
| 2 TB | 2,000,000,000,000 | 1.8190 TiB |
| 4 TB | 4,000,000,000,000 | 3.6380 TiB |
| 16 TB | 16,000,000,000,000 | 14.5519 TiB |
| 16 GB RAM (JEDEC) | 17,179,869,184 | 16 GiB |
Quick reference: speed (our calculation, payload share 94.15 %)
| Line speed | Best case | Same in MiB/s | Payload over Ethernet |
|---|---|---|---|
| 100 Mbit/s | 12.50 MB/s | 11.92 MiB/s | 11.77 MB/s |
| 250 Mbit/s | 31.25 MB/s | 29.80 MiB/s | 29.42 MB/s |
| 1 Gbit/s | 125.00 MB/s | 119.21 MiB/s | 117.69 MB/s |
A worked example
We checked the 1 TB drive from Microsoft's documentation ourselves. Seagate's product manual lists 1,953,525,168 guaranteed sectors of 512 bytes for the ST1000DM003 [11]. We ran this short calculation with Python 3.13 on 25 Oct 2026:
size = 1_953_525_168 * 512 # Seagate ST1000DM003: guaranteed sectors x 512 bytes
print(size) # exact bytes
print(size / 1000**4) # in TB (decimal)
print(size / 1024**3) # in GiB (binary)
print(100_000_000 / 8 / 1000**2) # 100 Mbit/s in MB/s
print(100_000_000 / 8 / 1024**2) # 100 Mbit/s in MiB/sThe output was 1000204886016, 1.000204886016, 931.5133895874023, 12.5 and 11.920928955078125. So the drive holds 204,886,016 bytes more than 1 TB, and the label is honest. In binary units it holds 931.51 GiB, exactly the 931.51 GB that PowerShell shows in Microsoft's example [12]. Same bytes, different ruler. The line works the same way: a speed test result of 94 Mbit/s means 11.75 MB/s or 11.21 MiB/s. A 100 GB download needs at least 2 h 13 min 20 s at a full 100 Mbit/s, and about 2 h 22 min at 94.15 % payload (our calculation, not a measurement).
To look at your own drives, run Get-Disk | ft -Auto in PowerShell: it lists every disk with its total size and partition style [12]. On Linux, lsblk -b prints sizes in bytes [7], and df --si shows file systems in decimal units [6].
Checklist
- Check whether a value says GB or GiB, and whether your tool counts in steps of 1000 or 1024.
- Multiply a label in TB by 0.9095 to estimate the TiB value Windows will show, and a label in GB by 0.9313 for GiB.
- Compare drives by exact bytes or sector counts from the datasheet, not by the rounded display.
- Divide Mbit/s by 8 for MB/s, and by 8.389 for MiB/s.
- Expect a few percent less in real downloads; on gigabit, around 116 to 118 MB/s is the ceiling.
- Treat RAM as the exception: 16 GB of RAM means 16 GiB.
- Use the Bundesnetzagentur's Breitbandmessung if you want to compare your fixed line with the contract.
Related pages: Understanding NVMe SSDs; Choosing NAS hard drives: seven checks; 2.5 GbE in the homelab: when it pays off; LAN, Wi-Fi or powerline: what lowers ping?; Watts, kWh, TDP and PSU ratings.