TeachMeBitcoin

Base58 Encoding: The Human-Friendly Hex

From TeachMeBitcoin, the free encyclopedia Reading time: 2 min

Base58 Encoding: The Human-Friendly Hex

In the early days of Bitcoin, Satoshi Nakamoto realized that raw hexadecimal strings (0-9, a-f) were too long and difficult for humans to handle. However, standard Base64 was too dangerous for a financial system. The solution was Base58.

1. The Compactness of Base58

Hexadecimal uses a "Base 16" system. Base58 uses 58 distinct characters.

By using a larger alphabet, we can represent the same amount of information in fewer characters, making it easier to print on paper or send via text message.

2. Why not Base64?

Standard Base64 (64 characters) includes symbols like +, /, and =, which can break URL formatting or look confusing in different fonts. More importantly, Base64 includes characters that look identical to one another, which is a disaster for a "Copy-Paste" economy.

3. The Design Goal

Base58 was designed with three specific goals:

  1. No Ambiguity: Characters that look alike were surgically removed.

  2. No Punctuation: Only alphanumeric characters are used, ensuring it won't be "Linkified" or broken by email clients.

  3. Double-Click Friendly: Most software treats a Base58 string as a "single word," allowing users to double-click to select the entire address easily.

4. Legacy Identity

Base58 is the foundation of "Legacy" Bitcoin. If you see an address starting with a 1 or a 3, you are looking at a Base58 encoded string. While modern SegWit addresses use Bech32, Base58 remains the most widely recognized format in the history of cryptocurrency.

Characteristic Hexadecimal Base64 Base58
Characters 16 64 58
Safe for Humans Low Low High
Compactness Low High Medium-High
URL Safe Yes No Yes

In the next section, we will look at the Excluded Characters in the Base58 alphabet.

☕ Help support TeachMeBitcoin

TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation:

Ethereum: 0x578417C51783663D8A6A811B3544E1f779D39A85
Bitcoin: bc1q77k9e95rn669kpzyjr8ke9w95zhk7pa5s63qzz
Solana: 4ycT2ayqeMucixj3wS8Ay8Tq9NRDYRPKYbj3UGESyQ4J
Address copied to clipboard!