A kilobyte (derived from the SI prefix kilo-, meaning 1,000) is a unit of information or computer storage equal to either 1,024 bytes (210) or 1,000 bytes (103), depending on context.
It is abbreviated in a number of ways: kB, KB, K and Kbyte.
The exact number of bytes in a kilobyte has traditionally been ambiguous. Locations in electronic memory circuits are identified by binary numbers
, which means that the number of addressable locations naturally becomes a power of 2
, and memory sizes are therefore not integer multiples (or fractions) of 1000. However, as 210
= 1024 ≈ 1000, the established 'k' (for kilo
) was early on employed as a convenient "approximate" prefix for memory capacities in multiples of 1024. On the other hand, for products where (some) capacity factors were not equally bound to powers of two, such as magnetic disks
(sector and track numbers) and networking
equipment (bit rates), strict decimal-based units were used.
Some have suggested that the capitalized prefix K be used to distinguish this quantity from the SI prefix k, but this has never been formally mandated. Further, it is not extensible to higher-order prefixes, as SI already uses the prefixes m and M to mean "milli-" and "mega-" respectively. There are also proposals to capitalize all greater-than-unity prefixes (D, H, K, M, G, ...), which would conflict with this. See SI prefix.
These prefixes are therefore used with either decimal (powers of 1000) or binary (powers of 1024) values, depending on context:
- 1024 bytes (210): This unit is used when expressing quantities which are based on powers of two, such as memory chip capacities. Most software also expresses storage capacity in units of 1024 bytes. Although the use of kilobyte for this unit is common, this usage has been expressly forbidden by the SI standard and other standards organisations. To indicate a quantity of 1024 bytes, the term kibibyte (KiB) has been recommended instead.
- 1000 bytes (103): This definition is recommended for all uses by international standards organizations such as IEC, IEEE, and ISO, with the abbreviation "kB". This unit is common for quantities which are not based on powers of two, such as bitrates. This term is starting to be adopted by some software, such as the Linux kernel.
Kilobyte (abbreviated as "KB") is not to be confused with the term kilobit (abbreviated as kb).
To make it simple, there are 1000 KB in a MB, and there are 1000 MB in a GB, and so on so forth...