Base58 Converter

Encode text or files to Base58 and decode Base58 back to the original bytes, with the Bitcoin alphabet or a custom character set. Runs in your browser. Leading zero bytes are kept, binary data is preserved as-is, and the result can be copied or downloaded as a file.

About this tool

What is Base58?

Base58 is a binary-to-text encoding that represents data with 58 alphanumeric characters. Compared with Base64 it drops the characters that are easy to confuse when read or typed by hand (0, O, I, l) and the symbols + and /, so the result is a single unbroken word. It is best known from Bitcoin addresses and IPFS content IDs. This tool converts any text or file to Base58 and back. You can also replace the alphabet to work with other bases or variants.

How to use

  1. Type text into Raw data, or drop a file onto it.
  2. Click Encode. The Base58 string appears in Encoded data.
  3. To decode, paste a Base58 string into Encoded data (or drop a text file) and click Decode. The decoded bytes appear in Raw data.
  4. Use the buttons in the corner of each editor to copy the content, download it as a file, or open it full screen.
  5. To use a different alphabet, edit Base characters before encoding or decoding.

Features

  • Encode and decode in both directions with the Encode / Decode buttons
  • Text or file input; decoded binary data (images, archives, etc.) is kept byte-for-byte and can be downloaded
  • The default alphabet is the Bitcoin Base58 alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
  • Custom alphabets of any length (2 characters or more, no duplicates); the number of characters is the base
  • Leading 0x00 bytes are encoded as the first character of the alphabet (1 by default), so they survive a round trip
  • Whitespace and line breaks around the encoded string are ignored when decoding
  • Clear error messages showing the invalid character and its position
  • Shows the size of the input and whether it is binary

Examples

InputBase58
test3yZe7d
Hello World!2NEpo7TZRRrLZSi2U
bytes 00 00 + abc11ZiCa

Custom alphabets

The Base characters field defines the digits in order: the first character means 0, the second means 1, and so on. Entering the Flickr alphabet (123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ) or the Ripple alphabet lets you work with those variants. Characters are counted by code point, so emoji can also be used. While the alphabet is invalid (fewer than 2 characters or duplicates), the buttons are disabled.

FAQ

Is my data sent to a server?

No. Encoding and decoding run entirely in your browser. Your input is saved only in this browser's local storage so it is still there next time.

Does it handle Base58Check (Bitcoin addresses with a checksum)?

It performs plain Base58 only. Decoding a Bitcoin address gives you the raw bytes including the version byte and the 4-byte checksum, but the checksum is not verified or added automatically.

Why is encoding large files slow?

58 is not a power of two, so the whole input has to be treated as one very large number. Inputs of a few hundred kilobytes can take several seconds. Base64 is a better fit for large data.

Is Base58 encryption?

No. Base58 (even with a custom alphabet) is only an encoding. Anyone can decode it, so do not rely on it to hide secrets.