Bitcoin Core Standard · IPFS Multihash · Zero Ambiguity
Base58 Converter & Decoder
Encode and decode cryptographic Base58 strings used in Bitcoin public keys and IPFS CIDs. Converts plain text and hexadecimal bytes with exact leading zero preservation.
Decoded Output (UTF-8)
[Binary Data - Cannot be represented as UTF-8 text]
Raw Hexadecimal Representation (25 Bytes)
0062e907b15cbf27d5425399ebf6f0fb50ebb88f18c29b7d93
Cryptographic Radix Encoding: Why Satoshi Nakamoto Designed Base58
Eliminating Human Transcription Ambiguity
Standard Base64 encoding includes non-alphanumeric punctuation (+, /, =) and characters that look identical in common fonts:
- Excluded Glyphs: Base58 removes zero (
0), uppercase O (O), uppercase I (I), and lowercase L (l). - Double-Click Selection: By omitting punctuation symbols, entire Base58 addresses can be highlighted with a single double-click in web browsers.
- Alphanumeric Security: Eliminates line-wrapping issues in text mailers and terminal prompts.
The Leading Zero Byte Rule
In mathematical base conversion, leading zeros have no numeric value ($0042 = 42$). However, cryptographic public keys require exact byte array preservation:
- Bitcoin Version Byte: P2PKH mainnet addresses start with byte
0x00. - Prepend 1: For every leading
0x00byte in the raw data, Base58 prepends the first character of the alphabet (1in Bitcoin,1in IPFS). - Genesis Block Address: Satoshi's famous address
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNabegins with1because its network prefix is a single zero byte.
Base58 vs. Base58Check
Base58Check appends a 4-byte checksum computed via double SHA-256 (SHA256(SHA256(payload))) before encoding. If a user mistypes even a single character in a Bitcoin address, the 32-bit checksum fails, preventing coins from being accidentally burned into an unspendable black hole.