In 2004, a Florida man named Orin Safier filed a class-action lawsuit against Western Digital. He had bought an 80 GB hard drive. His computer reported 74.5 GB. He wanted the missing 5.5 GB �?or his money back. The case, Safier v. Western Digital, became the test case for a question that had been irritating computer buyers since the first multi-megabyte hard drives appeared in the 1980s: why does the operating system always report less storage than the box promises?
Western Digital's defense was simple �?and legally correct. The drive contained exactly 80,000,000,000 bytes. Western Digital defined "gigabyte" as one billion bytes (109). Microsoft Windows defined "gigabyte" as 1,073,741,824 bytes (230). The drive was truthfully labeled. The operating system was truthfully reporting. The two numbers were both correct �?they were just using different dictionaries. Safier's lawsuit was dismissed, but the underlying confusion was not. As of 2026, every person who buys a hard drive and checks the free space still sees two different numbers. This guide explains why �?and why nobody has fixed it.
Key Takeaways
- Two definitions of KB/MB/GB/TB coexist. The decimal definition (1 KB = 1,000 bytes) is used by hard drive manufacturers, macOS, and the SI system. The binary definition (1 KB = 1,024 bytes) is used by Windows, Linux server distributions, and computer memory. They are not the same unit.
- The gap compounds. At kilobyte scale: 2.4% difference. At megabyte: 4.9%. At gigabyte: 7.4%. At terabyte: 10%. At petabyte: 12.6%. A "1 PB" storage array is 126,000 GB depending on whose petabyte you mean.
- Nobody is lying. The hard drive box tells the truth in decimal. The operating system tells the truth in binary. The deception is only that the box rarely explains this, and the OS rarely explains this, and so the consumer is left to discover the discrepancy on their own.
- KiB, MiB, GiB, TiB were supposed to fix this in 1998. Almost nobody adopted them. The naming collision persists because the new names sound silly and read unnaturally in technical documentation. "Gibibyte" lost to "gigabyte" by default.
- When precision matters, count bytes. A file is 4,294,967,296 bytes. Whether you call that 4.29 GB (decimal) or 4.00 GiB (binary) is a labeling decision. The byte count is unambiguous. Data storage conversions are the one domain where converting to the base unit first �?the byte �?and then applying the target convention's divisor is the only reliable method.
Quick Data Storage Conversion Reference
| Unit | Decimal (SI / HDD boxes) | Binary (Windows / RAM) | The gap |
|---|---|---|---|
| 1 KB / KiB | 1,000 bytes (103) | 1,024 bytes (210) | 2.4% |
| 1 MB / MiB | 1,000,000 bytes (106) | 1,048,576 bytes (220) | 4.9% |
| 1 GB / GiB | 1,000,000,000 bytes (109) | 1,073,741,824 bytes (230) | 7.4% |
| 1 TB / TiB | 1,000,000,000,000 bytes (1012) | 1,099,511,627,776 bytes (240) | 10.0% |
| 1 PB / PiB | 1,000,000,000,000,000 bytes (1015) | 1,125,899,906,842,624 bytes (250) | 12.6% |
Common Data Storage Conversions �?Both Definitions
| From | To | Decimal factor | Binary factor | Converter |
|---|---|---|---|---|
| KB | MB | ÷ 1,000 | ÷ 1,024 | KB to MB �?/a> |
| MB | KB | × 1,000 | × 1,024 | MB to KB �?/a> |
| MB | GB | ÷ 1,000 | ÷ 1,024 | MB to GB �?/a> |
| GB | MB | × 1,000 | × 1,024 | GB to MB �?/a> |
| GB | TB | ÷ 1,000 | ÷ 1,024 | GB to TB �?/a> |
| TB | GB | × 1,000 | × 1,024 | TB to GB �?/a> |
| KB | GB | ÷ 1,000,000 | ÷ 1,048,576 | KB to GB �?/a> |
| GB | KB | × 1,000,000 | × 1,048,576 | GB to KB �?/a> |
How We Got Here �?A 70-Year Timeline of the Same Four Letters
Every confusing label on your screen today traces back to decisions made decades ago by people who could not have imagined terabyte-scale consumer storage. This timeline connects the dots.
Binary addressing becomes the memory standard
Magnetic core memory and early semiconductor RAM chips are addressed by binary address lines. With n lines, you can address exactly 2n locations �?never a round decimal number. Engineers adopt "K" (for "kilo") as convenient shorthand for 1,024 = 210. Nobody deliberates this; it emerges as workshop slang among the few hundred people on Earth building computers.
Hard disks ship in decimal; the split is born
Hard drives store bits on magnetic platters in arbitrary geometries �?the capacity is not a clean power of two. Manufacturers label drives using decimal prefixes (1 MB = 1,000,000 bytes) because the numbers they're describing are decimal numbers. Memory sticks continue using binary because they are built around power-of-two addressing. The two storage categories quietly adopt opposite definitions of the same prefix, and the gap is too small at the megabyte scale for consumers to notice.
The IEC introduces KiB, MiB, GiB, TiB
By the mid-1990s, gigabyte-scale drives make the 7.4% gap visible to consumers. IEC 60027-2 Amendment 2 formally creates the binary prefixes �?kibi, mebi, gibi, tebi �?so that "kilobyte" always means 1,000 and "kibibyte" always means 1,024. The standard is technically correct. The names are widely mocked. Adoption stalls.
Consumers sue hard drive makers �?and lose
A wave of class-action lawsuits (Safier v. Western Digital, Cho v. Seagate) allege deceptive advertising because operating systems report less capacity than the box says. The courts side with manufacturers: the fine print defines 1 GB = 1,000,000,000 bytes, and that definition is legally sufficient. The lawsuits cement the industry practice of printing a disclaimer on every box �?the permanent legal scar tissue of the capacity wars.
macOS switches to decimal �?the first major OS to break ranks
Mac OS X 10.6 Snow Leopard redefines file and disk size reporting to use decimal prefixes (1 MB = 1,000,000 bytes). Apple's rationale: consumer expectations should match the box. A 1 TB drive plugged into a Mac reads "1 TB" in Finder. The change is controversial among developers but largely invisible to consumers. Windows stays binary �?no toggle, no plan to switch.
Two definitions, three interpretations, zero resolution in sight
Windows (70%+ desktop share) uses binary KB/MB/GB/TB. macOS uses decimal KB/MB/GB/TB. Linux tools are split �?some decimal, some binary, depending on the distribution and the specific command. The IEC KiB/MiB/GiB standard exists and is unambiguous. It is used almost nowhere in consumer-facing software. The same file copied across three operating systems shows three different "sizes." The ambiguity is likely permanent.
1. Why There Are Two Definitions of the Same Four Letters
In 1795, the French Academy of Sciences defined "kilo" as one thousand. For 150 years, this was uncontroversial. A kilometer was 1,000 meters. A kilogram was 1,000 grams. A kilowatt was 1,000 watts. "Kilo" meant a thousand, always and everywhere, until computer engineers needed a word for 1,024.
The problem is that 1,024 is not 1,000. It's close �?close enough that early computer engineers used "K" as a shorthand. A 4,096-word magnetic core memory was "4K." 4,096 is 4 × 1,024. Calling it "4K" was a convenient, memorable, and sufficiently accurate label in an era when a "kiloword" of memory cost more than a car and the people buying it were electrical engineers who understood the binary convention implicitly.
This linguistic borrowing was an accident of history, not a conspiracy. In 1956, when IBM shipped the first hard drive �?the RAMAC 305, storing 5 million 7-bit characters on fifty 24-inch platters �?the term "megabyte" didn't exist yet. Engineers described storage in "characters" or "words." By the late 1960s, as semiconductor memory became addressable in clean powers of two, "K" and "M" had become standard shorthand among computer architects. Nobody sat down and decided that "kilobyte" would officially mean 1,024 bytes. It happened the way slang happens: a group of practitioners found a convenient shorthand, and it stuck.
The marketing departments noticed the ambiguity in the 1980s, when hard drives reached capacities large enough for the 2.4% gap to become visible. A drive with 10,000,000 bytes could be labeled "10 MB" (decimal) or "9.5 MB" (binary). The bigger number sold more drives. The binary camp �?memory manufacturers, operating system developers, and the IEEE �?continued using powers of two because memory chips are physically built around binary addressing. The split was never resolved by authority. It was resolved by inertia: each industry kept doing what it had always done, and consumers were left to notice the discrepancy on their own.
2. The Electrical Engineer's Instinct: Why Computers Count in 1,024
A computer memory chip does not count to ten. It counts to two. Every address line on a memory bus can carry a 0 or a 1. With one address line, you can select exactly two memory locations: address 0 and address 1. With two address lines: four locations (00, 01, 10, 11). Three lines: eight. Four lines: sixteen. The number of addressable locations doubles with each additional line �?that's exponential growth, and the base of the exponent is always 2.
Addressable locations with n address lines = 2n
With 10 address lines, you can address exactly 1,024 locations. Not 1,000. If you designed a memory chip with 10 address lines and only used 1,000 of the possible 1,024 addresses, you'd be throwing away 24 perfectly good locations and complicating the address decoder circuitry �?adding cost and latency for no engineering benefit. So memory chips use all 2n locations. 1,024 was not chosen because it's a nice round number. It was chosen because it's 210, and 210 is the inevitable consequence of ten binary address lines.
| Address lines | Addressable space | Closest SI prefix | Error if you use SI |
|---|---|---|---|
| 10 | 1,024 (210) | 1 kilo = 1,000 | 2.4% |
| 11 | 2,048 (211) | 2 kilo = 2,000 | 2.4% |
| 16 | 65,536 (216) | 65.5 kilo = 65,500 | 0.05% |
| 20 | 1,048,576 (220) | 1 mega = 1,000,000 | 4.9% |
| 30 | 1,073,741,824 (230) | 1 giga = 1,000,000,000 | 7.4% |
| 40 | 1,099,511,627,776 (240) | 1 tera = 1,000,000,000,000 | 10.0% |
The table reveals a pattern that is obvious in hindsight: the error grows with each prefix level because the error is multiplicative. At each step from kilo to mega to giga to tera, you multiply by another factor of 1,024 while the SI convention multiplies by 1,000. After four prefix levels (kilo �?mega �?giga �?tera), the cumulative ratio is (1,024/1,000)4 �?1.10 �?a 10% gap.
Why hard drives don't use binary. A hard drive stores bits on magnetic platters arranged in concentric tracks. The number of bits per track is determined by the physical geometry of the platter and the density of the magnetic coating �?not by the number of address lines on a bus. A drive can store 512 bytes per sector, 63 sectors per track, and 16,383 cylinders �?producing a capacity of exactly 500,118,528 bytes if the manufacturer chooses those numbers. The capacity is an arbitrary integer, not a power of two. So hard drive manufacturers, from the very beginning, used decimal prefixes because the numbers they were describing were decimal numbers. A 500,118,528-byte drive is "500 MB" in the decimal convention. In binary, it's 476.9 MiB �?a number that looks like a defect on the spec sheet. Marketing chose the bigger, rounder number. Engineering could not argue that it was wrong �?because the engineering definition was always informal.
3. 1998: The Year the IEC Tried to Fix It (and Nobody Listened)
By the mid-1990s, the dual definition had become a genuine problem. Hard drives were shipping in gigabyte capacities, and the gap between decimal and binary gigabytes was 7.4% �?enough for consumers to notice and complain. Network engineers specifying "megabit" line rates and storage engineers provisioning "megabyte" arrays were using the same prefixes to mean different quantities. A disk array spec'd at "1 TB" could be 1,000,000,000,000 bytes or 1,099,511,627,776 bytes �?a difference of 100 GB, which in 1998 was more storage than most companies owned in total.
In December 1998, the International Electrotechnical Commission (IEC) published Amendment 2 to IEC 60027-2, introducing a set of binary prefixes that were deliberately distinct from the SI decimal prefixes:
| SI prefix (decimal) | Value | IEC binary prefix | Value |
|---|---|---|---|
| kilobyte (KB) | 103 = 1,000 bytes | kibibyte (KiB) | 210 = 1,024 bytes |
| megabyte (MB) | 106 = 1,000,000 bytes | mebibyte (MiB) | 220 = 1,048,576 bytes |
| gigabyte (GB) | 109 = 1,000,000,000 bytes | gibibyte (GiB) | 230 = 1,073,741,824 bytes |
| terabyte (TB) | 1012 = 1,000,000,000,000 bytes | tebibyte (TiB) | 240 = 1,099,511,627,776 bytes |
| petabyte (PB) | 1015 bytes | pebibyte (PiB) | 250 = 1,125,899,906,842,624 bytes |
The naming scheme was both elegant and transparent. Take the first two letters of the SI prefix ("ki" from "kilo," "me" from "mega," "gi" from "giga," "te" from "tera") and append "bi" for "binary." The resulting words �?kibibyte, mebibyte, gibibyte, tebibyte �?were unambiguous. A kibibyte was always 1,024 bytes. A kilobyte was always 1,000 bytes. No more guessing. The standard was incorporated into ISO/IEC 80000-13 in 2008, giving it the weight of the international standards bodies that define the meter, the kilogram, and the second.
And then almost nobody adopted them.
In 2026, twenty-eight years after the standard was published, the dominant operating system on the planet �?Microsoft Windows �?still labels everything in KB, MB, GB, and TB, and still uses the binary definition. File Explorer says "1,024 KB" when it means 1 MiB. Task Manager reports memory in binary GB. The words "kibibyte" and "mebibyte" appear nowhere in the Windows UI. macOS switched to decimal in 2009 �?but it still uses the labels KB, MB, GB, not KiB, MiB, GiB. Linux distributions are split: Ubuntu's file manager (Nautilus) uses decimal KB/MB/GB by default, while command-line tools like ls -lh use binary but print "K" and "M" without clarification. The only major software ecosystem that consistently uses KiB/MiB/GiB is the Linux kernel itself �?in /proc/meminfo, in driver documentation, and in filesystem tools �?and even there, adoption is inconsistent across user-facing utilities.
Why did the standard fail? Three reasons. First, "gibibyte" sounds ridiculous in English �?the doubled "bi" syllable reads as a stutter, and "kibibyte" to an English speaker's ear is baby-talk. Technical documentation writers, who decide what names become canonical through sheer repetition, rejected the new terms on aesthetic grounds. Second, the standard solved a problem that most people had already learned to live with �?the 7% gap was annoying but not dangerous, and the workaround (just buy a bigger drive) was cheap. Third, and most fundamentally, the standard asked the entire world to change its vocabulary to resolve an ambiguity that only electrical engineers and IT professionals fully understood. The average computer user has never heard the word "kibibyte" and never will �?not because the standard is wrong, but because the standard addressed a precision requirement that only a tiny fraction of users have.
The IEC tried. The standard exists. It is correct. It just never won. The result in 2026 is that a "gigabyte" can mean either of two numbers 7.4% apart, and you figure out which one from context �?or you ask for the byte count directly. Every data storage engineer learns to do this in their first month on the job.
4. Windows vs. macOS vs. Linux: Three Operating Systems, Three Interpretations
The same file, copied onto three different computers, will show three different sizes �?not because the file changed, but because the operating systems count differently.
The 1,234,567,890-byte test file
Create a file that is exactly 1,234,567,890 bytes. Copy it to three computers. Here's what each reports:
| Operating system | Reported size | How it computed the label |
|---|---|---|
| Windows 11 (File Explorer) | 1.15 GB | 1,234,567,890 ÷ 1,073,741,824 = 1.1497 GB (binary) |
| macOS 15 (Finder) | 1.23 GB | 1,234,567,890 ÷ 1,000,000,000 = 1.2346 GB (decimal) |
| Ubuntu 24.04 (Nautilus) | 1.2 GB | 1,234,567,890 ÷ 1,000,000,000 = 1.23 GB, rounded; uses decimal |
| Debian 12 (ls -lh) | 1.2G | 1,234,567,890 ÷ 1,073,741,824 = 1.15 GiB, displayed as "G"; uses binary but prints "G" |
The file never changed. The bytes never moved. Four different labels, all technically "correct" under each system's own convention. The problem is not the file. The problem is that the abbreviation "GB" carries no metadata about which definition was used to compute it.
Windows. Microsoft has used binary prefixes internally since MS-DOS. Every version of Windows �?95, XP, 7, 10, 11 �?defines 1 KB = 1,024 bytes in File Explorer, in disk properties, in dir output, and in every system dialog. Windows Server does the same. This is not documented in a user-facing setting; there is no toggle, no registry key, no Group Policy to switch to decimal. Microsoft's position, stated consistently in its developer documentation since the early 2000s, is that the binary definition is what Windows users expect and a change would cause more confusion than it resolved. Given Windows' roughly 70% desktop market share, this single decision means that a majority of the world's computer users see binary-labeled storage sizes every day �?and most of them don't know it.
macOS. Apple switched to decimal prefixes in Mac OS X 10.6 Snow Leopard (2009). Every version since �?Lion, Mountain Lion, Mavericks, through to Sequoia �?reports file and disk sizes in decimal KB/MB/GB/TB. A 1 TB (decimal) hard drive plugged into a Mac will report "1 TB" in Finder �?exactly matching the box. This was a deliberate design choice: Apple decided that consumer expectations (matching the box) mattered more than engineering tradition (matching the memory architecture). The decision was controversial among developers at the time but has been largely uncontroversial in the consumer market. Most Mac users have no idea that their file sizes are reported in a different unit than their Windows-using colleagues see for the same file.
Linux. The situation is, characteristically, the most complicated. The Linux kernel internally uses binary units and often prints KiB/MiB/GiB in kernel messages �?it's one of the few software components that consistently adopted the IEC standard. But user-facing tools are split. GNOME's Nautilus file manager uses decimal (like macOS). KDE's Dolphin uses decimal. The ls -lh command uses binary with single-letter suffixes (K, M, G). The df -h command on some distributions uses binary, on others decimal. The du command's default is binary. You can force consistency with ls --si (decimal) or df -H (decimal), but the defaults vary by distribution and sometimes by package version. If you manage Linux servers and macOS desktops in the same organization, every storage report contains a latent 2.4%�?0% discrepancy that is invisible unless you check which convention the reporting tool uses.
The practical rule. If you are comparing file sizes or disk usage across operating systems, get the byte count. Every OS can report the raw byte count �?it's the one number that is definitionally unambiguous. Windows: right-click �?Properties shows "Size: 1,234,567,890 bytes." macOS: Finder �?Get Info shows the byte count in parentheses. Linux: ls -l (no -h) prints the byte count directly. Convert from bytes to whatever label you need, but always start from bytes when crossing OS boundaries.
5. The Consumer Lawsuits: When the 7% Gap Went to Court
The gap between decimal and binary gigabytes became a legal question in the early 2000s, when a series of class-action lawsuits were filed against hard drive manufacturers in US federal courts. The plaintiffs argued that consumers were being misled �?that a drive labeled "80 GB" should deliver 80 billion bytes as the consumer's operating system counted them, not as the manufacturer defined the term.
Safier v. Western Digital (2004�?006)
Orin Safier bought an 80 GB Western Digital hard drive. Windows reported 74.5 GB. He sued on behalf of all Western Digital customers, alleging deceptive advertising, unfair business practices, and violation of California's Consumer Legal Remedies Act. The case turned on a single question: what does "gigabyte" mean? Western Digital argued that its packaging defined the term �?the fine print on the box stated that "1 GB = 1,000,000,000 bytes." The court agreed. Safier's central claim was that this definition was "inconsistent with the common understanding of the term." But the court found that there was no single "common understanding" �?the binary and decimal definitions coexisted in different industries, and Western Digital's definition had been consistent since the company began selling drives. The case was dismissed in 2006. Western Digital did not admit wrongdoing, but offered affected customers a free download of backup software (retail value: ~$30) �?not additional storage capacity. The settlement was widely viewed as a win for the manufacturers.
Cho v. Seagate Technology (2005�?007)
A parallel case against Seagate followed a similar trajectory. The plaintiffs noted that Seagate's packaging said "160 GB" in large type and defined "1 GB = 1,000,000,000 bytes" in much smaller type on the side of the box. The court held that the disclaimer was "conspicuous enough" under California law �?it was on the box, it was in English, and a reasonable consumer could read it. The operating system's choice to use a different definition did not make the manufacturer's statement false. Seagate prevailed. The case cemented the legal principle that a hard drive manufacturer's stated capacity definition �?if disclosed �?is the binding one, even if a majority of consumers use operating systems that define the term differently.
Did the lawsuits change anything? Yes �?but not in the way the plaintiffs hoped. No court ordered manufacturers to ship more bytes. No court required packaging to use KiB/GiB prefixes. Instead, the lawsuits produced a single, durable industry practice: every hard drive box now carries a disclaimer defining exactly what the manufacturer means by GB or TB. "1 GB = 1,000,000,000 bytes" or "1 TB = 1,000,000,000,000 bytes" appears on the packaging of every major hard drive brand sold in the United States. The disclaimer is the permanent legal scar tissue of the 2004�?007 litigation. Consumers still get confused. They just can't sue over it anymore �?the disclaimer inoculates the manufacturer. The operating system still reports a smaller number. The box still warns you that this will happen. Nobody is lying. The system works. It's just not the system anyone would design from scratch.
Flash storage (SSDs, USB drives, SD cards) uses the same decimal convention as hard drives. A "256 GB" SSD is 256,000,000,000 bytes �?and Windows will report approximately 238 GB. The gap is identical in percentage terms to a mechanical hard drive, and the same disclaimer appears on the packaging. RAM is the exception: a "16 GB" RAM stick is genuinely 16 × 1,073,741,824 = 17,179,869,184 bytes �?approximately 17.2 "decimal GB." RAM manufacturers use binary prefixes because RAM is manufactured in capacities that are powers of two (for the addressing reasons explained in Section 2). The RAM stick's 16 GB label is telling the truth in binary �?and Windows, helpfully, agrees with it, because Windows also uses binary. RAM is the one category of computer hardware where the box and the OS display the same number. This accidental consistency �?both sides independently chose binary �?has probably prevented more consumer confusion than any deliberate standardization effort.
6. When the 7% Gap Becomes Real Money: Cloud Billing, NAS Arrays, and Video Pipelines
For a consumer buying one hard drive, the 7%�?0% gap between decimal and binary is an irritation �?the difference between 931 GB and 1,000 GB on a $60 drive is about $4 of effective capacity. For a data center operator buying 10,000 drives, it's a budget-line error. For a cloud provider billing customers by the "GB-month," it's a revenue question with nine zeros behind it.
6.1 Cloud Storage Billing
Amazon S3, Google Cloud Storage, and Microsoft Azure Blob Storage all bill by the "GB-month" �?but each defines the gigabyte differently. AWS defines 1 GB = 1,000,000,000 bytes (decimal). Google Cloud uses the same decimal definition. Azure uses decimal. The consistency is recent �?before 2014, several cloud providers used binary GB in their internal metering while displaying decimal GB on customer invoices, producing bills that were systematically 7.4% higher than customers calculated from their own binary-based tools. Organizations that monitored cloud storage with on-premises monitoring software calibrated to binary units routinely over-provisioned by 7% �?paying for storage they didn't need because the monitoring tool and the billing system spoke different dialects of the same word.
The industry has largely converged on decimal for billing �?partly to match customer expectations set by hard drive boxes, and partly because decimal numbers are easier for finance departments to audit. But the converged standard is informal. No regulation requires cloud providers to define GB on the invoice. If your organization's internal storage monitoring uses binary GB (as Windows Server and many Linux tools do by default), your monitoring dashboard will systematically under-report costs by 7.4% relative to your cloud bill. The fix is simple �?convert everything to bytes before comparing �?but the fix is not automatic, and it requires someone to notice the discrepancy first.
6.2 NAS and RAID Arrays
A 12-bay NAS populated with 20 TB (decimal) drives advertises "240 TB raw capacity" on the spec sheet. The marketing number is decimal: 240,000,000,000,000 bytes. After RAID-6 (dual parity, losing two drives' worth of capacity to redundancy), the usable decimal capacity is roughly 200 TB. But the NAS operating system �?Synology DSM, TrueNAS, QNAP QTS �?typically reports usable capacity in binary TiB (though labeled "TB"). A 200 TB decimal array reports as 181 TiB �?a 10% drop. Combined with filesystem overhead (typically 2�?%), the final usable space visible to the client OS can be 170�?75 TiB �?29% less than the "240 TB" on the box. The missing storage is not lost. It's the cumulative effect of (a) decimal-to-binary conversion, (b) parity overhead, and (c) filesystem metadata �?three independent reductions, each legitimate, each compounding on the previous. Procurement departments that don't account for all three will under-buy storage by a margin that compounds with every array refresh.
6.3 Video Production Pipelines
A 1-hour Apple ProRes 422 HQ 4K video file is approximately 750 GB (decimal) �?750,000,000,000 bytes. A post-production facility managing 200 hours of raw footage needs about 150 TB of working storage, plus backup. If the facility's Mac-based editorial team sees "1.12 TB" on a backup volume (decimal, like all macOS volumes) and the facility's Linux-based backup server reports the same volume as "1.02 TB" (binary, like many Linux backup tools), the discrepancy looks like data corruption to a producer who doesn't know about the convention split. Post-production schedules have been delayed while technicians verified that the missing 100 GB was not missing data but a measurement-unit mismatch �?a single miscommunication that would not have happened if both systems reported in bytes, or if the IEC standard had been adopted universally in 1998.
6.4 The Petabyte Problem
At the petabyte scale, the gap is approximately 12.6%. A 1 PB (decimal) storage cluster is 1,000,000,000,000,000 bytes. In binary, it's 0.888 PiB. A data center architect specifying "1 PB of usable storage" who gets 0.888 PiB instead is short by 112 TB �?roughly 7�?1 enterprise hard drives' worth of capacity. At current (2026) enterprise HDD pricing, that's approximately $2,000�?4,000 in missing hardware �?per petabyte. A 50 PB deployment is short by roughly $100,000�?200,000 of expected capacity if the decimal/binary distinction wasn't clarified in the purchase order. Every hyperscale cloud operator has internal standards that specify storage in bytes precisely for this reason. No Google SRE provisions a cluster in "petabytes" �?they provision in bytes, and the tooling converts to whichever prefix the dashboard user prefers. The lesson from data centers is the same as the lesson from file comparisons across operating systems: when it matters, count bytes. The prefixes are a display-layer convenience. The byte is the atomic truth.
7. Every Data Storage Converter on This Site
Eight converters covering the four prefix levels (kilo through tera) in both directions. Each uses the binary definition (1 KB = 1,024 bytes, 1 MB = 1,048,576 bytes, etc.) �?matching what Windows, most Linux tools, and all memory specifications use. If you need the decimal definition (hard drive marketing, macOS Finder, cloud billing), multiply the binary result by the appropriate factor from the Quick Reference table at the top of this page.
KB ↔ MB �?the everyday pair
Images, documents, small downloads. A 5 MB photo is 5,120 KB. A 500 KB PDF is 0.488 MB. These two converters handle the scale most people work with daily. 1 MB = 1,024 KB.
MB ↔ GB �?the media and software scale
Software installers, video files, system memory. A 16 GB RAM stick is 16,384 MB. A 250 MB application download is 0.244 GB. 1 GB = 1,024 MB.
GB ↔ TB �?the drive and backup scale
Hard drives, SSDs, NAS volumes. A 2 TB drive is 2,048 GB in binary. Remember: the box on a "2 TB" drive means 2,000,000,000,000 bytes (decimal), which Windows will report as 1.82 TB. 1 TB = 1,024 GB.
KB ↔ GB �?crossing three prefix levels
Log files, database dumps, memory dumps. A 1 GB file is 1,048,576 KB. These skip the intermediate MB level �?useful when comparing storage at very different scales. 1 GB = 1,048,576 KB.
Frequently Asked Questions
How many MB are in a GB? The simple answer and the full answer.
The simple answer: 1 GB = 1,024 MB �?this is the definition your computer uses. The full answer: it depends who's counting. Your Windows PC says 1,024. A hard drive box says 1,000. The SSD on your desk says 1,000 (manufacturer) but Windows reports it as 1,024 MB per GB, so a 500 GB (decimal) SSD shows as 465 GB (binary). When in doubt, use GB to MB for the binary conversion or multiply by 1,000 for the decimal conversion. The difference is one of definition, not of fact. Both numbers are correct under their own definition.
Why does my 1 TB drive show 931 GB instead of 1,024 GB?
Because binary TB and decimal TB are different quantities. 1 TB (decimal) = 1,000,000,000,000 bytes. 1 TB (binary) = 1,099,511,627,776 bytes. Your drive stores 1,000,000,000,000 bytes. Divide that by what Windows considers 1 GB (1,073,741,824 bytes): 1,000,000,000,000 ÷ 1,073,741,824 = 931.32 GB. The math is exact. You didn't lose anything �?1,000,000,000,000 bytes were always on the drive. Windows is just measuring them with a different ruler. Use GB to TB or TB to GB to check the conversion in binary units.
What about Mbps and MB/s? Why is my internet speed in bits but my download speed in bytes?
Network speeds are measured in bits per second (bps), not bytes per second (B/s). The capital B matters: 1 MB/s = 8 Mbps. A "100 Mbps" internet connection delivers roughly 12.5 MB/s under ideal conditions �?after protocol overhead (TCP/IP headers, packet retransmission, congestion control), real-world throughput is typically 80�?0% of that, or about 10�?1 MB/s. The convention is historical: telecommunications engineers measure raw signal rate in bits (the fundamental unit of information), while file sizes are measured in bytes (the fundamental unit of addressable storage). The factor-of-8 confusion is responsible for more customer-support calls than any other unit issue in consumer technology.
Will data storage units ever be standardized so everyone agrees?
The standard already exists �?IEC 80000-13:2008 defines KiB, MiB, GiB, TiB unambiguously. The problem is adoption, not definition. As long as Windows uses KB/MB/GB for binary units, and hard drive boxes use KB/MB/GB for decimal units, and macOS uses KB/MB/GB for decimal units, the ambiguity persists. A universal switch would require Microsoft to either adopt KiB/MiB/GiB labels (confusing 70% of desktop users who have never seen those terms) or switch to decimal (making every existing Windows screenshot and tutorial show "different" file sizes overnight). Neither path is politically cost-free. The ambiguity is likely permanent �?the nearest analogy is how "billion" once meant 1012 in the UK (long scale) and 109 in the US (short scale) until the UK officially adopted the short scale in 1974. That transition took 200 years. The data storage prefix transition, at the current pace, will take at least as long.
Should I use a KB to MB converter or just divide by 1,024 in my head?
For a quick estimate, dividing by 1,024 in your head is close enough. 50,000 KB ÷ 1,000 = 50 MB (rough). 50,000 ÷ 1,024 = 48.83 MB (exact). But the error compounds �?across five levels of nested folders each rounded by mental approximation, a 2.4% error per level can become a 10% discrepancy. For software installers, system memory reporting, or any situation where an exact byte count matters, use KB to MB for the binary conversion. The converter uses exact integer arithmetic and won't accumulate rounding drift. For hard drive shopping, remember that the box uses decimal �?multiply the box number by 0.931 to estimate what Windows will show.
Sources and Further Reading
- IEC 60027-2 Amendment 2 (December 1998) �?Introduction of binary prefixes kibi, mebi, gibi, tebi
- ISO/IEC 80000-13:2008 �?Quantities and units, Part 13: Information science and technology (formal adoption of binary prefixes into ISO standard)
- NIST Special Publication 330 �?The International System of Units (SI), including guidance on prefix usage for digital information
- Safier v. Western Digital Technologies, Inc., Case No. C-04-3178 (N.D. Cal. 2004�?006) �?class-action lawsuit over hard drive capacity labeling
- Cho v. Seagate Technology (US) Holdings, Inc., Case No. C-05-4375 (N.D. Cal. 2005�?007) �?parallel class action against Seagate
- Apple Inc. �?Mac OS X Snow Leopard (10.6) Release Notes (2009): "File and disk sizes are now reported in base 10 (1 MB = 1,000,000 bytes) to match storage industry practice"
- Microsoft Windows Developer Documentation �?"Size Reporting in Explorer and Disk Management" (Microsoft Docs, various versions)
- Linux Kernel Documentation �?
Documentation/admin-guide/kernel-parameters.txt,/proc/meminfobinary prefix usage - IEEE 1541-2002 �?Standard for Prefixes for Binary Multiples (IEEE reaffirmation of IEC binary prefixes for electrical engineering contexts)
- JEDEC Standard 100B.01 (December 2002) �?Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits (continues to define 1 KB = 1,024 bytes for semiconductor memory)
- BIPM �?The International System of Units (SI), 9th Edition (2019): Section 3, "Decimal multiples and submultiples of SI units" �?the SI prefixes are defined as powers of 1,000; binary usage is explicitly outside the SI
Practical Takeaways: What to Do With All This
This guide covers 70 years of history, two engineering traditions, multiple lawsuits, and a failed international standard. Here is what actually matters when you close this tab and go back to reading file sizes, buying hardware, or writing documentation.
💿 Buying a hard drive or SSD: the 0.93 rule
Multiply the box number by 0.93 to estimate what Windows will show. A "2 TB" drive �?roughly 1.86 TB in File Explorer. A "500 GB" SSD �?roughly 465 GB. The drive is not defective. The 7% "missing" is a difference in the definition of GB, not a difference in the number of bytes. If the drive reports significantly less than 93% of the box number, something else is wrong �?check for hidden partitions, filesystem overhead, or a genuine defect. But first, verify you didn't just forget to apply the 0.93 rule.
🖥�?Windows vs. macOS showing different sizes: nothing is broken
A file copied from a Mac to a Windows PC appears larger on the Mac (decimal GB) and smaller on the PC (binary GB). The bytes are identical. Compare byte counts if you need to verify integrity, not the GB/MB label. In Windows: right-click �?Properties �?look for "Size: X bytes." On macOS: Finder �?Get Info �?the byte count appears in parentheses after the decimal size. These two numbers will match. The GB labels won't, by design, and that's expected.
📝 Writing engineering or procurement documentation: when to use GB vs. GiB
- Consumer-facing documents, hard drive specs, cloud bills: use decimal GB/TB. This matches what the hardware vendor and cloud provider use. If you write "1 TB" in a purchase order and mean 1,099,511,627,776 bytes, you'll get the wrong hardware.
- Operating system output, memory specs, kernel logs: these are binary. If you're documenting what
ls -lhor Task Manager reports, use the same ambiguous KB/MB/GB/TB the tool uses, but note the convention: "(binary, 1 GB = 230 bytes)." - Protocol specifications, file formats, APIs, and any context where a 10% error is unacceptable: specify the count in bytes. Not GB, not GiB, not MB �?bytes. A file format header that says "max size: 4 GB" is ambiguous. "Max size: 4,294,967,296 bytes (4 GiB)" is not.
- If you use KiB/MiB/GiB: you're technically correct per IEC 80000-13:2008. Expect that most readers will not know what these mean. Define them the first time you use them: "1 GiB (gibibyte) = 1,073,741,824 bytes."
🔧 Converting data storage units reliably
Every converter linked in Section 7 uses the binary definition (1 KB = 1,024 bytes). If you need decimal �?hard drive shopping, cloud billing comparisons, macOS-style file sizes �?multiply the result by the appropriate factor from the Quick Reference table at the top of this page. Or convert to bytes first, then re-divide using the other convention's divisor. A byte is a byte is a byte. The prefixes are the only thing that's ambiguous.
📊 Estimating at scale: the compounding cheat sheet
| If you buy this (decimal) | Windows shows ~this (binary) | Gap | Enough for�?/th> |
|---|---|---|---|
| 256 GB SSD | 238 GB | 18 GB | ~4 HD movies |
| 512 GB SSD | 477 GB | 35 GB | ~8 HD movies |
| 1 TB HDD/SSD | 931 GB | 69 GB | ~1 AAA game install |
| 2 TB drive | 1.82 TB | 0.18 TB | ~36 HD movies |
| 4 TB drive | 3.64 TB | 0.36 TB | ~72 HD movies |
| 8 TB NAS drive | 7.28 TB | 0.72 TB | ~144 HD movies |
| 20 TB enterprise | 18.19 TB | 1.81 TB | An entire 2 TB drive's worth |
Notice the last row: at 20 TB, the gap alone is larger than the total capacity of a consumer hard drive from 2010. This is why the prefix ambiguity matters more with every passing year �?storage densities grow, and the gap grows with them.
Related Guides
Reprint & Attribution. Written by the EnginStack engineering team. Originally appeared June 27, 2026 at enginstack.com/guides/data-storage-conversion-guide. Quoting, excerpting, and sharing are encouraged with a link back. If you plan to republish the complete article, reach out to [email protected] �?no-cost educational and non-commercial licenses are available with proper attribution.