Kilobyte is precisely 1000 bytes
by surprisetalk on 2/3/2026, 4:53:50 PM
https://waspdev.com/articles/2026-01-11/kilobyte-is-1000-bytes
Comments
by: ValdikSS
>Why do we often say 1 kilobyte = 1024 bytes?<p>Because Windows, and only Windows, shows it this way. It is official and documented: <a href="https://devblogs.microsoft.com/oldnewthing/20090611-00/?p=17933" rel="nofollow">https://devblogs.microsoft.com/oldnewthing/20090611-00/?p=17...</a><p>> Explorer is just following existing practice. Everybody (to within experimental error) refers to 1024 bytes as a kilobyte, not a kibibyte. If Explorer were to switch to the term kibibyte, it would merely be showing users information in a form they cannot understand, and for what purpose? So you can feel superior because you know what that term means and other people don’t.
2/3/2026, 7:04:43 PM
by: pjdesno
I had a computer architecture prof (a reasonably accomplished one, too) who thought that all CS units should be binary, e.g. Gigabit Ethernet should be 931Mbit/s, not 1000MBit/s.<p>I disagreed strongly - I think X-per-second should be decimal, to correspond to Hertz. But for quantity, binary seems better. (modern CS papers tend to use MiB, GiB etc. as abbreviations for the binary units)<p>Fun fact - for a long time consumer SSDs had roughly 7.37% over-provisioning, because that's what you get when you put X GB (binary) of raw flash into a box, and advertise it as X GB (decimal) of usable storage. (probably a bit less, as a few blocks of the X binary GB of flash would probably be DOA) With TLC, QLC, and SLC-mode caching in modern drives the numbers aren't as simple anymore, though.
2/3/2026, 7:01:03 PM
by: ineedasername
> <i>Why does 1000 still make more sense?</i><p>The author doesn’t actually answer their question, unless I missed something?<p>They go on to make a few more observations, and say finally only that the current different definitions are sometimes confusing, to non experts.<p>I don’t see much of an argument here for changing anything. Some non experts experience minor confusion about two things that are different, did I miss something bigger in this?
2/3/2026, 7:13:12 PM
by: kmm
And a megabyte is depending on the context precisely 1000x1000=1,000,000 or 1024x1024=1,048,576 bytes*, except when you're talking about the classic 3.5 inch floppy disks, where "1.44 MB" stands for 1440x1024 bytes, or about 1.47 true MB or 1.41 MiB.<p>* Yeah, I read the article. Regardless of the IEC's noble attempt, in all my years of working with people and computers I've never heard anyone actually pronounce MiB (or write it out in full) as "mebibyte".
2/3/2026, 5:41:38 PM
by: cmovq
The mistake was using the "Kibi" prefix. "Kibibyte" just sounds a bit silly when said out loud.
2/3/2026, 5:52:56 PM
by: nerdsniper
Edit: I'm wrong. Older experience has corrected me - there has always been ambiguity (perhaps bifurcated between CPU/OS and storage domains). "And that with such great confidence!", indeed. Here are some resources on early removable media, if you'd like to track some facts down for yourself: <a href="https://ub.fnwi.uva.nl/computermuseum/diskettes.html" rel="nofollow">https://ub.fnwi.uva.nl/computermuseum/diskettes.html</a> (I can't figure out how they were marketed) <a href="http://electronicsandbooks.com/edt/manual/index.php?dir=Hardware%2FI%2FIBM+www.ibm.com%2FHardware%2FproductDescriptions%2F" rel="nofollow">http://electronicsandbooks.com/edt/manual/index.php?dir=Hard...</a> (Browse up and down the hierarchy, lots of both technical and marketing documents from the 1980's here)<p>Edit 25: In 1972 IBM started selling the IBM 3333 magnetic disk drive. This product catalog [0] from 1979 shows them marketing the corresponding disks as "100 million bytes" or "200 million bytes" (3336 mdl 1 and 3336 mdl 11, respectively). By 1984, those same disks were marketed in the "IBM Input/Output Device Summary"[1] (which seems to have been made available to interested parties) as "100MB" and "200MB"<p>So this ambiguity is documented at least back to 1984.<p>0: (PDF page 281) "IBM 3330 DISK STORAGE" <a href="http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20www.ibm.com/Hardware/productDescriptions/IBM%20Sales%20Manual%20Machines%20Section%20Jul79%20c20111002.pdf" rel="nofollow">http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w...</a><p>1: (PDF page 38, labeled page 2-7, Fig 2-4) <a href="http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20www.ibm.com/Hardware/productDescriptions/GA32-0039-2%20Input%20Output%20Device%20Summary%20Jul84%20c20111006%20[274].pdf" rel="nofollow">http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w...</a><p>-------<p>The article presents wishful thinking. The wish is for "kilobyte" to have one meaning. For the majority of its existence, it had only one meaning - 1024 bytes. Now it has an ambiguous meaning. People wish for an unambiguous term for 1000 bits, however that word does not exist. People also might wish that others use kibibyte any time they reference 1024 bytes, but that is also wishful thinking.<p>The author's wishful thinking is falsely presented as fact.<p>I think kilobyte was the wrong word to ever use for 1024 bytes, and I'd love to go back in time to tell computer scientists that they needed to invent a new prefix to mean "1,024" / "2^10" of something, which kilo- never meant before kilobit / kilobyte were invented. Kibi- is fine, the phonetics sound slightly silly to native English speakers, but the 'bi' indicates binary and I think that's reasonable.<p>I'm just not going to fool myself with wishful thinking. If, in arrogance or self-righteousness, one simply assumes that every time they see "kilobyte" it means 1,000 bytes - then they will make many, many failures. We will always have to take care to verify whether "kilobyte" means 1,000 or 1,024 bytes before implementing something which relies on that for correctness.<p>0
2/3/2026, 5:39:00 PM
by: pif
For all the people commenting as if the meaning of "kilo" was open to discussion... you are all from the United States of America, and you call your country "America", right?
2/3/2026, 6:17:07 PM
by: recursive
I'm suprised they didn't mention kibibyte. (Edit: they did) There are plenty of applications where power-of-2 alignment are useful or necessary. Not addressing that and just chastising everyone for using units wrong isn't particularly helpful. I guess we can just all switch to kibibytes, except the HDD manufacturers.
2/3/2026, 5:32:17 PM
by: mrb
Whenever this discussion comes up I liked to point out that even in the computer industry, prefixes like kilo/mega/etc more often mean a power of 10 than a power of 2:<p>I gave some examples in my post <a href="https://blog.zorinaq.com/decimal-prefixes-are-more-common-than-binary-prefixes-in-the-com/" rel="nofollow">https://blog.zorinaq.com/decimal-prefixes-are-more-common-th...</a>
2/3/2026, 6:03:56 PM
by: lr1970
<joke> How to tell a software engineer from a real one? A real engineer thinks that 1 kilobyte is 1000 bytes while software engineer believes that there are 1024 meters in a kilometer :-) </joke>
2/3/2026, 6:28:41 PM
by: encomiast
I've tried this approach with Lowes when I buy 2x4s. About as effective.
2/3/2026, 5:59:47 PM
by: jasperry
I agree in principle, but does anyone else feel super awkward saying "mebibyte" and "gibibyte"?
2/3/2026, 5:51:31 PM
by: sebtron
A metric kilobyte is 1000 bytes. An imperial kilobyte, on the other hand, is 5280 bytes.
2/3/2026, 6:25:03 PM
by: stalfosknight
No, it's not. A kilobyte is 1,024 bytes.
2/3/2026, 7:14:34 PM
by: none_to_remain
I like how the GNU coreutils seem to have done. They use real, 1024-byte kilobytes by default, but print only the abbreviation of the prefix so it's just 10K or 200M and people can pretend it stands for some other silly word if they want.<p>You can use `--si` for fake, 1000-byte kilobytes - trying it it seems weird that these are reported with a lowercase 'k' but 'M' and so on remain uppercase.
2/3/2026, 5:56:20 PM
by: nayuki
> 1 kilobyte is precisely 1000 bytes<p>Agreed. For the naysayers out there, consider these problems:<p>* You have 1 "MB" of RAM on a 1 MHz system bus which can transfer 1 byte per clock cycle. How many seconds does it take to read the entire memory?<p>* You have 128 "GB" of RAM and you have an empty 128 GB SSD. Can you successfully hibernate the computer system by storing all of RAM on the SSD?<p>* My camera shoots 6000×4000 pixels = exactly 24 megapixels. If you assume RGB24 color (3 bytes per pixel), how many MB of RAM or disk space does it take to store one raw bitmap image matrix without headers?<p>The SI definitions are correct: kilo- always means a thousand, mega- always means a million, et cetera. The computer industry abused these definitions because 1000 is close to 1024, creating endless confusion. It is a idiotic act of self-harm when one "megahertz" of clock speed is not the same mega- as one "megabyte" of RAM. IEC 60027 prefixes are correct: there is no ambiguity when kibi- (Ki) is defined as 1024, and it can coexist beside kilo- meaning 1000.<p>The whole point of the metric system is to create universal units whose meanings don't change depending on context. Having kilo- be overloaded (like method overloading) to mean 1000 and 1024 violates this principle.<p>If you want to wade in the bad old world of context-dependent units, look no further than traditional measures. International mile or nautical mile? Pound avoirdupois or Troy pound? Pound-force or pound-mass? US gallon or UK gallon? US shoe size for children, women, or men? Short ton or long ton? Did you know that just a few centuries ago, every town had a different definition of a foot and pound, making trade needlessly complicated and inviting open scams and frauds?
2/3/2026, 6:09:08 PM
by: talles
I refuse to say "kibibyte" out loud
2/3/2026, 6:57:33 PM
by: quotemstr
It's too late. Powers-of-two won. I'm the sort of person who uses "whom" in English, but even I acknowledge that using "KB" to mean 1,000, not 1,024, can only breed confusion. The purpose of language is to communicate. I'm all for pedantry when it's compatible with clarity, but we can't reconcile the two goals here.
2/3/2026, 5:45:54 PM
by: jijijijij
Metric prefixing should only be used with the unit bit. There is no confusion there. I mean, if you would equate a bit with a certain voltage threshold, you could even argue about fractional bits.<p>Approximating metric prefixing with kibi, Mibi, Gibi... is confusing because it doesn't make sense semantically. There is nothing base-10-ish about it.<p>I propose some naming based on shift distance, derived from the latin iterativum.<p>* 2^10, the kibi, is a deci (shifted) byte, or just a 'deci'<p>* 2^20, the Mibi, is a vici (shifted) byte, or a 'vici'<p>* 2^30, the Gibi, is a trici (shifted) byte, or a 'trici'<p>I mean, we really only need to think in bytes for memory addressing, right? The base doesn't matter much, if we were talking exabytes, does it?
2/3/2026, 7:19:54 PM
by: zephen
Nope.<p>It would be nice to have a different standard for decimal vs. binary kilobytes.<p>But if Don Knuth thinks that the "international standard" naming for binary kilobytes is dead on arrival, who am I to argue?<p><a href="https://www-cs-faculty.stanford.edu/~knuth/news99.html" rel="nofollow">https://www-cs-faculty.stanford.edu/~knuth/news99.html</a>
2/3/2026, 7:02:48 PM
by: astrobe_
... And a hacker is precisely a cyber-criminal.
2/3/2026, 5:49:50 PM
by: jachee
The entire reason "storage vendors prefer" 1000-based kilobytes is so that they could misrepresent and over-market their storage capacities, getting that 24-bytes per-kb of expectation-vs-reality profit.<p>It's the same reason—for pure marketing purposes—that screens are measured diagonally.
2/3/2026, 5:31:08 PM
by: dboreham
Just to show that disinformation exists in every field.
2/3/2026, 5:34:06 PM
by: mc32
One thing that annoys me is:<p>Why don’t kilobyte continue to mean 1024 and introduce kilodebyte to mean 1000. Byte, to me implies a binary number system, and if you want to introduce a new nomenclature to reduce confusion, give the new one a new name and let the older of more prevalent one in its domain keep the old one…
2/3/2026, 5:51:02 PM