Base58 Decoder
Decode Base58 strings back to readable text. Bitcoin alphabet, UTF-8 output.
DecodeBitcoin alphabetClient-sideFree to use
0 / 500,000
Try It Out
How to use
- Paste your Base58 string. Bitcoin alphabet only. Whitespace is trimmed automatically.
- Copy the decoded text. Output is UTF-8 decoded from the underlying bytes.
- Switch to encoder if needed. Use the Switch link to flip over and encode fresh text.
Common use cases
- Inspecting the bytes behind a Bitcoin or Solana address
- Reading legacy IPFS CIDv0 identifiers
- Debugging Base58 fields in onchain data and APIs
- Verifying Base58-encoded test fixtures
Frequently asked questions
- What is this tool best used for?
- Use the Base58 decoder to inspect the raw bytes behind a Bitcoin or Solana address, an IPFS CIDv0 hash, or any other Base58-encoded identifier. It is handy when debugging onchain data, verifying test fixtures, or tracing what a blockchain API actually returned.
- What happens if the Base58 string contains an invalid character?
- The Bitcoin Base58 alphabet deliberately excludes 0, O, I, and l. If any of those characters (or any character outside the 58-character set) appears in your input, the decoder will report an error rather than silently produce wrong output. Check that you copied the full string without substitutions.
- Does this tool send my data to a server?
- No. Decoding happens entirely in your browser. The input string never leaves your device.
- Does this tool verify Bitcoin address checksums?
- No. Bitcoin uses Base58Check, which appends a 4-byte SHA-256-of-SHA-256 checksum to the payload before encoding. This tool decodes the raw Base58 bytes and displays them as text, but it does not strip or verify that checksum. If you need checksum validation, use a dedicated Bitcoin address validator.
- What do leading "1" characters mean in the decoded output?
- Each "1" at the start of a Base58 string represents a leading zero byte in the original data. The decoder reconstructs those zero bytes before converting to text. For Bitcoin addresses, those leading zeros are part of the version or hash payload, not padding.
Related tools
How to use
- Paste your Base58 string. Bitcoin alphabet only. Whitespace is trimmed automatically.
- Copy the decoded text. Output is UTF-8 decoded from the underlying bytes.
- Switch to encoder if needed. Use the Switch link to flip over and encode fresh text.
Common use cases
- Inspecting the bytes behind a Bitcoin or Solana address
- Reading legacy IPFS CIDv0 identifiers
- Debugging Base58 fields in onchain data and APIs
- Verifying Base58-encoded test fixtures
Frequently asked questions
- What is this tool best used for?
- Use the Base58 decoder to inspect the raw bytes behind a Bitcoin or Solana address, an IPFS CIDv0 hash, or any other Base58-encoded identifier. It is handy when debugging onchain data, verifying test fixtures, or tracing what a blockchain API actually returned.
- What happens if the Base58 string contains an invalid character?
- The Bitcoin Base58 alphabet deliberately excludes 0, O, I, and l. If any of those characters (or any character outside the 58-character set) appears in your input, the decoder will report an error rather than silently produce wrong output. Check that you copied the full string without substitutions.
- Does this tool send my data to a server?
- No. Decoding happens entirely in your browser. The input string never leaves your device.
- Does this tool verify Bitcoin address checksums?
- No. Bitcoin uses Base58Check, which appends a 4-byte SHA-256-of-SHA-256 checksum to the payload before encoding. This tool decodes the raw Base58 bytes and displays them as text, but it does not strip or verify that checksum. If you need checksum validation, use a dedicated Bitcoin address validator.
- What do leading "1" characters mean in the decoded output?
- Each "1" at the start of a Base58 string represents a leading zero byte in the original data. The decoder reconstructs those zero bytes before converting to text. For Bitcoin addresses, those leading zeros are part of the version or hash payload, not padding.