The kilobyte is a multiple of the unit byte for digital information.
The International System of Units defines the prefix kilo as 1000 ; per this definition, one kilobyte is 1000 bytes. The internationally recommended unit symbol for the kilobyte is kB.
In some areas of information technology, particularly in reference to digital memory capacity, kilobyte instead denotes 1024 bytes. This arises from the powers-of-two sizing common to memory circuit design. In this context, the symbols KB and K are often used.

Definitions and usage

Base 10 (1000 bytes)

In the International System of Units the prefix kilo means 1000 ; therefore, one kilobyte is 1000 bytes. The unit symbol is kB.
This is the definition recommended by the International Electrotechnical Commission.
This definition, and the related definitions of the prefixes mega, giga, etc., are most commonly used for data transfer rates
in computer networks, internal bus, hard drive and flash media transfer speeds, and for the capacities of most storage media, particularly hard drives, flash-based storage, and DVDs. It is also consistent with the other uses of the SI prefixes in computing, such as CPU clock speeds or measures of performance.
The IEC 80000-13 standard uses the term 'byte' to mean eight bits. Therefore, 1 kB = 8000 bit. One thousand kilobytes is equal to one megabyte, where 1 MB is one million bytes.

Base 2 (1024 bytes)

The kilobyte has traditionally been used to refer to 1024 bytes, a usage still common. The usage of the metric prefix kilo for binary multiples arose as a convenience, because 1024 is approximately 1000.
The binary interpretation of metric prefixes is still prominently used by the Microsoft Windows operating system. Metric prefixes are also used for random-access memory capacity, such as main memory and CPU cache size, due to the prevalent binary addressing of memory.
The binary meaning of the kilobyte for 1024 bytes typically uses the symbol KB, with an uppercase letter K. The B is often omitted in informal use. For example, a processor with 65,536 bytes of cache memory might be said to have "64 K" of cache. In this convention, one thousand and twenty-four kilobytes is equal to one megabyte, where 1 MB is 10242 bytes.
In December 1998, the IEC addressed such multiple usages and definitions by creating prefixes such as kibi, mebi, gibi, etc., to unambiguously denote powers of 1024. Thus the kibibyte, symbol KiB, represents 210 bytes = 1024 bytes. These prefixes are now part of the International System of Quantities. The IEC further specified that the kilobyte should only be used to refer to 1000 bytes.