Base32 is the base-32 numeral system. It uses a set of 32 digits, each of which can be represented by 5 bits (25). One way to represent Base32 numbers in a human-readable way is by using a standard 32-character set, such as the twenty-two upper-case letters A–V and the digits 0-9. However, many other variations are used in different contexts.
This is an example of a Base32 number represented using the previously described 32-character set (IPFS CIDv1 in Base32 upper-case encoding):
Base32 has a number of advantages over Base64:
- The resulting character set is all one case, which can often be beneficial when using a case-insensitivefilesystem, DNS names, spoken language, or human memory.
- The result can be used as a file name because it cannot possibly contain the ‘/’ symbol, which is the Unixpath separator.
- The alphabet can be selected to avoid similar-looking pairs of different symbols, so the strings can be accurately transcribed by hand. (For example, the
- A result excluding padding can be included in a URL without encoding any characters.
- Base32 representation takes roughly 20% – 21% less space. (1000 bits takes 200 characters, compared with 250 for Base16).