A kibibyte (a contraction of kilobinary byte, pronounced KEE-bee-byte) is a unit of information or computer storage, established by the International Electrotechnical Commission in 2000. Its symbol is KiB. It was designed to replace the "kilobyte" used in some computer science contexts to mean 1024 bytes, which conflicts with the SI definition of the prefix "kilo-".
|Multiples of bytes|
|SI decimal prefixes||IEC binary prefixes|
|kilobyte (kB)||103||210||kibibyte (KiB)||210|
|megabyte (MB)||106||220||mebibyte (MiB)||220|
|gigabyte (GB)||109||230||gibibyte (GiB)||230|
|terabyte (TB)||1012||240||tebibyte (TiB)||240|
|petabyte (PB)||1015||250||pebibyte (PiB)||250|
|exabyte (EB)||1018||260||exbibyte (EiB)||260|
|zettabyte (ZB)||1021||270||zebibyte (ZiB)||270|
|yottabyte (YB)||1024||280||yobibyte (YiB)||280|
|See also: Multiples of bits · Orders of magnitude of data|
Usage of these terms is intended to avoid the confusion, common in describing storage media, as to the ambiguous meaning of "kilobyte". Thus the term kibibyte has been defined to refer exclusively to 1,024 bytes.
The confusion caused by kilobyte being used to refer either to 1,000 or to 1,024 bytes became more substantial when hard drives grew to gigabyte and larger units. If one expects power-of-two values to refer to capacity, and manufacturers use power-of-ten values, the difference could be substantial. With a kilobyte (1,024 versus 1,000), the difference is 2.4%. With the megabyte (1,024² or 1,048,576, versus 1,000,000) the percentage difference becomes 4.9%. With "gigabytes", if one uses 1024³, the size of a drive would be expected to be 1,073,741,824 bytes per gigabyte versus a mere 1,000,000,000 — a difference of 7.4% (see Deviation between binary and decimal interpretations).
Confusion can be compounded by the use of both 1,024 and 1,000 in a single definition. The quoted capacity of 3½ inch HD floppy disks is 1.44 MB, where MB stands for 1000 times 1024 bytes. The total capacity is thus 1,474,560 bytes, or approximately 1.41 MiB.
In The Art of Computer Programming, Donald Knuth proposed that this unit be called a large kilobyte (abbreviated KKB). Other early proposals included using the Greek letter κ for 1024 bytes (and using k exclusively for 1000), bK, K₂B, and others. "KiB" is the only method that has gained any traction.
Adoption of this term has been limited, primarily being used in open source software. In most cases the same "kilo" prefix continues to be used whether the meaning is a power of ten or a power of two.