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.
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.
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz0x00 bytes are encoded as the first character of the alphabet (1 by default), so they survive a round trip| Input | Base58 |
|---|---|
test | 3yZe7d |
Hello World! | 2NEpo7TZRRrLZSi2U |
bytes 00 00 + abc | 11ZiCa |
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.
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.
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.
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.
No. Base58 (even with a custom alphabet) is only an encoding. Anyone can decode it, so do not rely on it to hide secrets.