TeachMeBitcoin

The Excluded Characters of Base58

From TeachMeBitcoin, the free encyclopedia Reading time: 2 min

The Excluded Characters of Base58

The defining feature of Base58 is what it leaves out. By carefully pruning the standard alphanumeric character set, Bitcoin eliminates the most common sources of human transcription error.

1. Visual Ambiguity (The "lookalikes")

In many fonts, certain characters are indistinguishable. To prevent users from sending money to the wrong address because they misread a printed key, Satoshi removed:

If you see a character that looks like a vertical line in a Bitcoin address, you can be 100% sure it is a 1, because I and l don't exist. If you see a circle, it is a 9 or an 8, because 0 and O don't exist.

2. Non-Alphanumeric Symbols

Base64 uses + and /. In many contexts, these symbols cause issues:

3. The Alphabet

The resulting 58-character alphabet is: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Notice the missing 0, O, I, and l.

4. The "Check" Logic

While the alphabet itself reduces mistakes, it is the combination of Base58 + Checksum that makes it a "Financial Grade" encoding.

Character Pair Problem Result in Base58
0 vs O Both look like circles Both removed
I vs l vs 1 All look like lines Only 1 remains
+ and / Break URLs/Paths Both removed

In the next section, we will analyze the Base58 Arithmetic used to convert numbers.

☕ 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!