SpeedDrain
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 0x00 byte in the raw data, Base58 prepends the first character of the alphabet (1 in Bitcoin, 1 in IPFS).
  • Genesis Block Address: Satoshi's famous address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa begins with 1 because 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.