Base58 Decoder

Encoders & Decoders

How to use the Base58 Decoder

Decode a Base58 string in three steps:

1

Paste the Base58 string

Paste any Base58 string into the input area. Invalid characters (0, O, I, l) produce an immediate error.

2

Choose output format

Select UTF-8 text output for text payloads, or hex output to inspect raw bytes. For Base58Check, enable checksum verification to confirm integrity.

3

Copy the decoded output

The decoded content appears with any checksum verification result shown. Copy or download the output.


When to use this tool

Use Base58 decoding to inspect cryptocurrency identifiers and Base58-encoded data:

  • Decoding Bitcoin addresses or WIF private keys to inspect the raw bytes and version prefix
  • Verifying whether a Base58Check-encoded value has a valid checksum to detect corruption or transcription errors
  • Decoding IPFS CIDv0 content identifiers (starting with 'Qm') to retrieve the multihash payload
  • Inspecting Solana public keys and transaction signatures encoded in Base58
  • Recovering the original hex payload from a Base58-encoded identifier for protocol-level debugging
  • Verifying that a Base58 encoding round-trip produces the original input correctly during development

Frequently asked questions

Q:Why does my Base58 string fail to decode?
Base58 decode failures are caused by invalid characters — any character not in the Bitcoin Base58 alphabet (123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz). The most common invalid characters are 0 (zero), O (capital O), I (capital I), and l (lowercase L) — which are explicitly excluded from Base58. If you are decoding from a different Base58 variant (such as Flickr's), the alphabet ordering differs and the output will be wrong.
Q:How does Base58Check verification work?
Base58Check appends a 4-byte checksum to the payload before encoding. The checksum is the first 4 bytes of the double-SHA-256 hash of the payload. During decoding, the last 4 bytes of the decoded data are extracted as the checksum, and the double-SHA-256 of the remaining payload is recomputed. If the two checksums match, the data is intact; if they differ, the data was corrupted or mistyped.
Q:What do I get when I decode a Bitcoin address?
A Bitcoin legacy address (P2PKH or P2SH, starting with 1 or 3) is Base58Check encoded. Decoding reveals: 1 byte version prefix (0x00 for mainnet P2PKH, 0x05 for P2SH) + 20 bytes of hash160 (RIPEMD-160 of SHA-256 of the public key) + 4 bytes checksum = 25 bytes total. This is useful for inspecting the address type and verifying the hash payload.
Q:Does this decode Solana or other altcoin addresses?
Solana uses standard Base58 (without the Check variant) for public keys and transaction signatures, and uses the same Bitcoin alphabet. Solana addresses can be decoded with this tool using standard Base58 mode — the decoded output will be 32 bytes representing the Ed25519 public key. Other cryptocurrencies that use the Bitcoin Base58 alphabet (Litecoin, Dogecoin, etc.) are also compatible.
Q:What is the version prefix in Base58Check encoding?
Base58Check prepends a version byte (or bytes) to the payload before encoding to distinguish different data types. Common version bytes: 0x00 = Bitcoin mainnet address, 0x05 = Bitcoin P2SH address, 0x80 = WIF private key (mainnet), 0x0488B21E = BIP32 extended public key (xpub). The version byte appears as the first byte(s) of the decoded hex output.
Q:Can I decode IPFS hashes with this tool?
Yes — IPFS CIDv0 hashes (beginning with 'Qm') are standard Base58-encoded multihashes using the Bitcoin alphabet. Decode in hex mode to see the multihash structure: the first byte is the hash function code (0x12 = SHA-256), the second byte is the digest length (0x20 = 32 bytes), followed by the 32-byte SHA-256 digest. CIDv1 IPFS identifiers use a different encoding (multibase) and are not Base58-encoded.