By Satoshi Nakamoto for Bitcoin

Base58 is a numbering system that uses 58 different characters to represent data.

It includes numbers and most uppercase and lowercase letters, but excludes similar-looking characters such as 0 (zero), O (uppercase o), I (uppercase i), and l (lowercase L) to avoid confusion.

0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz

Base58 is beneficial for encoding large integers into shorter, more readable strings:

Binary
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Decimal
0
Hex
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Base58
1111111111111111
Action

The original Bitcoin source explains the choice:

Why base-58 instead of standard base-64 encoding?

  • Don't want 0OIl characters that look the same in some fonts and could be used to create visually identical looking account numbers.
  • A string with non-alphanumeric characters is not as easily accepted as an account number.
  • E-mail usually won't line-break if there's no punctuation to break at.
  • Doubleclicking selects the whole number as one word if it's all alphanumeric.

Copyright (c) 2009 Satoshi Nakamoto

Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.

Satoshi NakamotoBitcoin v0.1 · base58.h

This feature makes it popular in applications that require manual data entry or visual verification.

Below is a table showing the most common base systems used in computing:

BaseNameCharacters
2Binary01
8Octal01234567
10Decimal0123456789
16Hexadecimal0123456789ABCDEF
58Base58123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

This is 0xa.eth, building at OKX and exploring the mathematics behind cryptography, the mechanics of Ethereum, and the tools that shape how we think. I bring old computers back to life and experiment with AI, turning what I learn into visual notes and interactive experiments.