go-supertools
Developer & Data Tools

Base58 Encoder & Decoder

Encode text to Base58 (Bitcoin alphabet) or decode it.

Runs in your browser Your input never leaves your device.

0 characters | 0 words

Report a problem with this tool

About this tool

Base58 is like Base64 without the characters that are easy to mix up when read aloud or copied by hand: it leaves out 0 (zero), O (capital o), I (capital i) and l (lower case L), and has no + or /. It is used for Bitcoin addresses, IPFS content hashes, and in many identifiers. This tool uses the Bitcoin alphabet. Each leading zero byte becomes a leading 1, as in the standard. Encoding takes your text as UTF-8; decoding explains which character is not allowed, and shows non-text data as hex. Note that this is plain Base58 and not Base58Check, so it does not add or check a checksum, which real Bitcoin addresses contain. We compared the encoder and decoder with the Python base58 package on 133 byte strings, including empty, leading-zero and all-zero ones. Base58 has to treat the whole input as one large number, so it is meant for short data and the tool accepts at most 5,000 bytes. Everything runs in your browser; nothing is uploaded.

How to use it

  1. Choose encode or decode.
  2. Paste your text or Base58.
  3. Copy the result.

Common problems

It says a character is not a Base58 character
Base58 leaves out 0, O, I and l. A copy error or a different alphabet is likely.
A Bitcoin address does not decode to readable text
Addresses are binary data with a version byte and checksum, not text. The decoded bytes are shown as hex.
It says the input is too long
Base58 is for short data such as keys and hashes (up to 5,000 bytes here). Use Base64 or Base85 for larger data.