BYTETOOLS

Base58 Encoder

Encode text or hex bytes to Base58 with the Bitcoin, Ripple or Flickr alphabet, plus optional Base58Check with a version byte and checksum.

Base58 output

Enter data above to encode it as Base58.

What is the Base58 Encoder?

The ByteTools Base58 Encoder converts text or raw bytes into Base58, the encoding Bitcoin uses for addresses and keys.

  • Bitcoin, Ripple and Flickr alphabets
  • Exact BigInt arithmetic for inputs of any length
  • Leading zero bytes preserved as leading 1 characters
  • Optional Base58Check with a version byte and double-SHA-256 checksum
  • Text, hex or Base64 input
  • 100% client-side — keys and data never leave your browser

How to use the Base58 Encoder

  1. 1

    Choose your input format — plain text, hex bytes or Base64 — and the alphabet you need.

  2. 2

    Type or paste the data you want to encode.

  3. 3

    Tick the Base58Check box if you need a version byte and checksum, then enter the version byte in hex.

  4. 4

    Copy the encoded result, and check the details panel for the checksum and the byte layout it produced.

About the Base58 Encoder

The ByteTools Base58 Encoder converts text or raw bytes into Base58, the encoding Bitcoin uses for addresses and keys. It works by repeated division by 58 using BigInt arithmetic, so arbitrarily long inputs stay exact, and each leading zero byte is preserved as a leading 1 rather than being lost the way a plain numeric conversion would lose it.

Switch on Base58Check and the tool builds the full checked form: it prepends the version byte you choose, computes SHA-256 twice over the result using the browser's Web Crypto API, appends the first four bytes of that digest as a checksum, and encodes the whole thing. Common version bytes are labelled, so 0x00 is recognised as a Bitcoin address and 0x80 as a WIF private key.

The Bitcoin, Ripple and Flickr alphabets are all selectable, so the same tool covers cryptocurrency addresses, IPFS content identifiers and short URL slugs. Everything runs 100% locally in your browser and nothing is uploaded, which matters a great deal given the kind of material Base58 is normally used to encode.

Frequently asked questions

What is Base58 and why does Bitcoin use it?

Base58 is Base64 with the confusing characters removed. There is no zero, capital O, capital I or lowercase l, and no plus or slash to break a double-click selection or a URL. That makes an address far safer to read aloud, write down or retype, which is exactly what you want for something irreversible.

What is the difference between Base58 and Base58Check?

Base58Check wraps the payload with a one-byte version prefix and a four-byte checksum taken from SHA-256 applied twice. The version says what kind of data it is, and the checksum means a single mistyped character is detected instead of sending funds into the void. Plain Base58 has neither.

Which version byte should I use?

It depends on what you are encoding. 0x00 produces a Bitcoin mainnet address starting with 1, 0x05 a P2SH address starting with 3, 0x80 a WIF private key, and 0x6F a testnet address. The tool labels the well-known ones as you type so you can confirm your choice.

Why does my output start with a run of 1s?

Each leading zero byte in the input is encoded as one leading 1. This is a deliberate rule, because the numeric conversion at the heart of Base58 would otherwise silently drop leading zeros and change the length of the decoded result.

Is it safe to encode a private key here?

The encoding itself runs entirely in your browser with no network requests, so nothing is transmitted. That said, typing a key with real funds behind it into any web page is a habit worth avoiding — use an offline signing tool for keys that matter.

Related tools