Base58 Encoder and Decoder

Encode and decode Base58 with the Bitcoin alphabet from text or hex bytes, entirely in your browser. Your input stays local.

The Base58 Encoder / Decoder runs entirely in your browser. The text and hex bytes you encode or decode never leave your device and nothing is uploaded to ArrayKit.

Open the Base64 Encoder / Decoder

About Base58 Encoder / Decoder

The Base58 Encoder / Decoder converts data to and from Base58 using the Bitcoin alphabet — 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz — which drops the visually ambiguous 0, O, I and l so encoded strings are easy to read and retype. Feed it UTF-8 text or raw hex bytes and it produces a compact Base58 string; switch to Decode to turn a Base58 string back into text or hex. Leading zero bytes are preserved as leading '1' characters, exactly the way Bitcoin addresses and WIF keys are formed. It is handy for inspecting keys, hashes, short identifiers, and IPFS-style values without pulling in a library. Everything runs on your device — the bytes you paste never leave the browser.

Features

How to use the Base58 Encoder / Decoder

  1. Keep the Encode tab selected and choose Text or Hex for the input
  2. Type text or paste hex bytes to get the Base58 string
  3. Copy the Base58 output from the right pane
  4. Switch to Decode, pick Text or Hex output, and paste a Base58 string

Example

Input

hello

Output

Cn8eVZg

Base58 of the UTF-8 bytes for "hello" is Cn8eVZg.

Common errors & troubleshooting

Frequently asked questions

Which alphabet does this Base58 tool use?
It uses the Bitcoin alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. The digits 0, O, I and l are left out so encoded strings avoid look-alike characters. It is the same alphabet used by Bitcoin addresses and WIF keys.
How are leading zero bytes handled in Base58?
Each leading zero byte in the input is encoded as a leading '1' character, and each leading '1' decodes back to a zero byte. That is why Bitcoin addresses that start with a 0x00 version byte begin with a 1.
Can I encode raw hex bytes instead of text?
Yes. Set the input toggle to Hex and paste bytes like 00287fb4cd, with or without a 0x prefix. On the Decode side you can choose Hex output to get the raw bytes back instead of text.
How is Base58 different from Base64?
Base58 uses 58 symbols and drops +, /, =, and the ambiguous 0, O, I, l, so it is shorter and safer to read or retype by hand. Base64 uses 64 symbols and is denser but includes characters that need escaping in URLs and can be misread.
Does this tool compute Base58Check with a checksum?
No. It performs plain Base58 encoding and decoding of the exact bytes you provide. It does not add or verify the 4-byte Base58Check checksum used by Bitcoin addresses, so pair it with a hashing tool if you need that.
Are the bytes I paste sent to a server?
No. The Base58 Encoder / Decoder runs entirely in your browser. The text and hex you type or paste stay on your device and are never uploaded to ArrayKit.

Related tools

All ArrayKit tools