How to Use base58
- Choose Encode or Decode mode.
- Paste your text or hex string (to encode) or your Base58 string (to decode).
- The result appears immediately below.
- Copy the output for use in cryptocurrency addresses, IPFS CIDs, or custom identifiers.
Base58 is a binary-to-text encoding that eliminates visually ambiguous characters — 0 (zero), O (uppercase O), I (uppercase i), and l (lowercase L) — from the character set, making strings safer for human reading and transcription. Bitcoin addresses, Ethereum keys in WIF format, and IPFS v1 CIDs all use Base58Check (Base58 with a checksum) or raw Base58.
Base58 in Blockchain and Distributed Systems
Bitcoin was the primary populariser of Base58. A Bitcoin address is a Base58Check-encoded public key hash — the encoding's lack of ambiguous characters reduces the risk of copying an address incorrectly by hand. IPFS uses Base58btc (the Bitcoin alphabet) for its CIDv0 content identifiers. Stellar, Ripple, and other protocols use variants with slightly different alphabets. This encoder uses the standard Bitcoin Base58 alphabet.
- Bitcoin/IPFS alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
- No ambiguous characters: 0, O, I, and l are excluded
- Preserves leading zero bytes as leading "1" characters
- Accepts text and raw input; outputs valid Base58 strings
Frequently Asked Questions
What is the difference between Base58 and Base58Check?
Base58 is the pure encoding. Base58Check adds a 4-byte checksum derived from double SHA-256 before encoding, allowing error detection when the string is decoded. Bitcoin addresses use Base58Check; this tool does raw Base58 encoding.
Why does Bitcoin use Base58 instead of Base64?
Base64 includes 0, O, I, l, +, and /, all of which cause problems for human transcription or as URL-safe identifiers. Base58 was chosen specifically to be copy-paste and visually safe for financial addresses.
How do leading zeros work in Base58?
Binary leading zero bytes are preserved as "1" characters in Base58. This matters for Bitcoin addresses derived from public keys that hash to a leading zero byte.
Can I decode a Bitcoin address with this tool?
You can decode the Base58 layer, but recovering the original address requires also verifying the Base58Check checksum and stripping the version byte. This tool performs raw Base58 decoding only.
See also Base64 Encoder, Base32 Encoder, and the Hash tool for SHA-256 checksums.