Why does my 1 TB drive show as 931 GB?
Manufacturers count a terabyte as 1,000,000,000,000 bytes while Windows divides by 1,024 three times and still labels the result GB. The bytes are all present; the two are using different definitions of the same prefix.
Updated 2026-08-24
Two definitions of the same word
A drive sold as one terabyte reports as roughly 931 gigabytes in Windows, and nothing is missing. Both figures describe exactly the same number of bytes.
The SI prefixes are decimal by definition. Kilo means a thousand, mega a million, giga a billion, tera a trillion. That is what they mean in every other context — a kilometre is a thousand metres, not 1,024 of them — and it is what drive manufacturers use. One terabyte is 1,000,000,000,000 bytes.
Computing adopted the same prefixes for binary quantities because the powers of two happen to land nearby. Two to the tenth is 1,024, close enough to a thousand that calling it a kilobyte felt reasonable in an era when memory was measured in kilobytes and the error was under three percent.
The error compounds with each prefix. At kilo the two definitions differ by 2.4 percent, at mega by 4.9, at giga by 7.4, and at tera by 10 percent. So a one terabyte drive divided by 1,024 three times gives about 931, and the discrepancy that was a rounding curiosity at kilobyte scale is now a hundred gigabytes that customers believe they did not receive.
This has been litigated, repeatedly, and the manufacturers have generally prevailed on the grounds that they use the standard meaning of the prefix. Several settlements nonetheless required clearer labelling, which is why drive packaging now carries a note explaining the difference.
The units that were supposed to fix it
The International Electrotechnical Commission standardised a separate set of binary prefixes in 1998, precisely to end this ambiguity.
They are formed by replacing the second syllable with bi: kibibyte, mebibyte, gibibyte and tebibyte, abbreviated KiB, MiB, GiB and TiB. A kibibyte is exactly 1,024 bytes, a gibibyte exactly 1,073,741,824. Under this scheme a kilobyte is unambiguously 1,000 bytes and there is nothing left to argue about.
Adoption has been partial in a way that makes things worse rather than better. Linux and macOS report file and drive sizes in decimal units and label them correctly, so a one terabyte drive shows as roughly one terabyte. Windows divides by 1,024 and labels the result GB, which is the combination that produces the complaint. Memory is always quoted in binary units regardless of labelling, because memory addressing is genuinely binary — an 8 GB memory module really is 8 gibibytes.
Network speeds add a further trap that is unrelated but frequently confused with this one. Network rates are quoted in bits per second, not bytes, and there are eight bits in a byte. A 100 megabit connection transfers at most about 12.5 megabytes per second, and the lowercase b against the uppercase B is the only thing distinguishing them in writing. A download that appears eight times slower than the advertised speed is usually running at exactly the advertised speed.
Between the two definitions of the prefix and the two meanings of b, a stated figure can be off by a factor of nearly nine depending on which pair of assumptions is wrong.
Why 1,024 and not some other number
The reason binary quantities cluster around powers of two comes down to how addresses work, and it is worth understanding because it explains several other limits.
A positional number system represents values by position and base. In base ten, each position is worth ten times the one to its right, and ten digits are available. In base two each position is worth twice the one to its right and only two digits exist, which is what a circuit that is either on or off can represent directly.
An address of n bits can therefore designate exactly two to the n distinct locations. Ten bits addresses 1,024 locations, twenty bits addresses 1,048,576, and so on. Memory is built and addressed in these quantities because any other size would leave part of the address space unusable, and that is why memory capacities are always powers of two while drive capacities, which are addressed through a translation layer, need not be.
The same arithmetic sets the famous limits. Thirty-two bits addresses about 4.29 billion locations, which is why 32-bit systems could not use more than 4 GB of memory and why a signed 32-bit counter of seconds overflows in 2038. Hexadecimal is popular in this world for a tidy reason: sixteen is two to the fourth, so one hex digit maps to exactly four bits and a byte is always exactly two hex digits, which makes the conversion mechanical.
It is worth appreciating how much this depends on the system being positional at all. Roman numerals are not: the symbols carry fixed values that are added or subtracted according to their order, so there is no place value and no base. That is why they cannot easily express zero or fractions, why arithmetic in them is difficult enough that it was a specialist skill, and why the adoption of positional notation from India through the Arabic-speaking world was a genuine advance rather than a change of notation. They survive as ordinals — chapter headings, monarchs, film copyright dates — where the job is labelling rather than calculating.
Where the space actually goes
The prefix disagreement explains most of the gap and not all of it. A few other things consume real capacity.
The file system itself needs space for its own structures — the tables recording where files are, journals protecting against interrupted writes, and reserved regions. On a large drive this is typically a small percentage but it is not nothing.
Allocation granularity wastes more than people expect on some workloads. Storage is allocated in clusters, commonly four kilobytes, and a file occupies whole clusters regardless of its size. A one-byte file consumes four kilobytes; a hundred thousand small files waste a substantial fraction of their apparent size. This is why a folder can report a size on disk considerably larger than the sum of its files.
Solid-state drives reserve a further portion invisibly, as over-provisioning. Flash cells wear with writes and blocks must be erased in groups larger than the pages written, so the controller keeps spare capacity to shuffle data and retire failed blocks. This reserved region is not visible to the operating system at all and is one reason a drive advertised at a round capacity may present slightly less than the decimal arithmetic predicts.
Snapshots and recovery data account for the rest on modern systems. Both macOS and Windows retain previous versions and restore points that occupy space reported ambiguously, which is why deleting a large file sometimes frees nothing until the retention window passes.