Base58 encoder (Bitcoin alphabet)

Enter text or hex bytes; the output matches Bitcoin libraries, including how leading zero bytes are handled.

Loading the tool…

Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.

How to use it

  1. Enter text and input type.
  2. The result appears straight away and updates as you edit.
  3. Copy the result, or copy a link that keeps the same values to share it.

How it is calculated

The bytes are read as one big integer, divided by 58 repeatedly, and each remainder maps to a character of 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Each leading zero byte is written as 1.

Example

Inputs: Input type = Text (UTF-8). Result: Base58: 2NEpo7TZRRrLZSi2U; Bytes: 12.

Hello World!
2NEpo7TZRRrLZSi2U

Limits and caveats

  • Plain Base58 only: no version byte or Base58Check checksum is added.
  • Ripple and Flickr alphabets order the characters differently and are not supported.

Questions about this tool

Why does Base58 skip 0, O, I and l?

They look alike, so leaving them out reduces mistakes when addresses are copied by hand.

Why do old Bitcoin addresses start with 1?

Their version byte is zero, and each leading zero byte is written as 1 in Base58.

Does this create a wallet address?

No. It only encodes the bytes you give it; an address also needs a public key, hashing and a checksum.