devtools

Base58 Encode / Decode

Encode and decode Base58 with the Bitcoin alphabet in your browser, with full UTF-8 support and no look-alike 0, O, I or l. Private and never uploaded.

Runs entirely in your browser — your data never leaves your device.

How to use Base58 Encode / Decode

What it does & when you need it

Base58 turns bytes into text using 58 symbols — the digits and letters with the four look-alikes 0, O, I and l removed. That deliberately smaller alphabet is why Bitcoin addresses, IPFS references, and many key formats use it: a Base58 string has no punctuation, survives a double-click as one token, and can be read aloud or copied by hand with almost no risk of a costly typo. This tool encodes text to Base58 and decodes it back, with full UTF-8 support, entirely in your browser.

How to use

  1. Choose Encode or Decode at the top.
  2. Type or paste into the left buffer, or press Sample to load an example. In Encode mode you can also Upload a text file.
  3. The result appears on the right. Press Copy result or Ctrl/Cmd + Enter to copy it.

Things worth knowing

The dropped characters are the whole point. 0 and O, and I and l, are easy to confuse in most fonts, so Base58 omits all four. The trade-off is size: Base58 runs a little bulkier than Base64, which keeps its full 64-symbol alphabet including + and /.

Leading zero bytes become leading 1s. Base58 reads the input as one large number, where plain leading zeros would vanish. Each leading zero byte is instead preserved as a single 1, the digit for zero here — the reason an address with a 0x00 version byte starts with 1.

It is not Base58Check. Wallet formats add a version byte and a checksum before encoding; this tool performs the raw Base58 step only, so it round-trips your exact bytes. It is an encoding, not encryption — anyone can reverse it. To move bytes more compactly, try the Base64 tool or the Base32 tool; to inspect the raw bytes, see Text to Hex.

Examples

Encode UTF-8 text

Hello, 世界! 😀

Multi-byte characters are UTF-8 encoded before Base58, so emoji and CJK round-trip cleanly.

Decode a Base58 string

2NEpo7TZRRrLZSi2U

Switch to Decode mode to read this back as the classic test phrase "Hello World!".

Round-trip a token

token_51H8xample

Encode an API-style token, then decode it back — a quick way to confirm Base58 is lossless.

Frequently asked questions

How is Base58 different from Base64 and Base32?

All three turn bytes into printable text. Base58 uses 58 symbols — the digits and letters minus the four look-alikes 0, O, I and l — so it carries no punctuation and never produces an ambiguous character. It is slightly larger than Base64 but far friendlier to copy, read aloud, or double-click as a single token.

Which characters are left out of the Base58 alphabet, and why?

The digit 0 and capital O, plus capital I and lowercase l, are removed because they are easily confused in most fonts. Dropping them means a Base58 string can be transcribed by hand — as with a Bitcoin address or key — with almost no risk of a costly typo.

Is this the same as Base58Check?

Not quite. Base58Check wraps a version byte and a four-byte double-SHA-256 checksum around the payload before encoding, which lets wallets catch typos. This tool performs the raw Base58 step only; it neither adds nor verifies a checksum, so it round-trips your exact bytes.

Why do leading zero bytes become leading "1" characters?

Base58 treats the input as one big number, in which leading zero bytes would otherwise vanish. The encoding preserves them by emitting one "1" — the digit for zero in this alphabet — per leading zero byte, so the byte length round-trips. That is why Bitcoin addresses with a 0x00 version byte begin with "1".

Is Base58 encryption?

No. It is a reversible, key-free encoding, so it protects nothing. Its only job is to carry binary data through a text channel in a compact, unambiguous form. Anyone can decode it instantly, so never use it to hide a secret.