Base58 Encoder Decoder
Encode bytes with Bitcoin or Flickr Base58 alphabets while preserving leading-zero semantics.
Encode normal text or hex bytes to Base58, or decode Base58 back to text, hex, or byte values.
Options
Base58 avoids visually confusing characters like 0, O, I, and l, making encoded values easier to copy, read, and type than many Base64 strings.
Output
Converted Base58 output will appear here.
Base58 turns bytes into a human-oriented alphabet
Bitcoin-style Base58 represents a byte sequence as a large base-256 number and repeatedly converts it into 58 symbols. The familiar Bitcoin alphabet omits 0, O, I, and lowercase l so strings are less likely to be misread when copied by hand.
Base58 is not one universal standard. The Flickr alphabet contains the same set of symbols in a different order, so a value encoded with one alphabet can decode to different bytes under another. Keep the alphabet with the data format that produced the value.
Leading zero bytes are part of the byte sequence
In the Bitcoin convention, each leading zero byte is represented by the alphabet's zero symbol, 1. That rule prevents a big-integer conversion from silently discarding bytes at the front of the payload. The preserve option keeps this byte-oriented convention; disabling it intentionally treats the value more like an integer and can make round trips lossy.
Hex bytes: 000001 Bitcoin Base58 with leading zeros preserved: 112
Raw Base58 is not Base58Check
Bitcoin addresses and WIF private keys commonly use Base58Check, which adds version bytes and a checksum around a payload before the Base58 step. Only raw Base58 conversion is performed here. A string can decode successfully here and still have an invalid Base58Check checksum or the wrong version for a particular Bitcoin format.
Text view is only appropriate for UTF-8 payloads
Base58 represents bytes, not characters. When decoded bytes form valid UTF-8, Text output renders them normally. If they do not, the conversion stops and asks you to switch to Hex or Byte values so the payload is not silently changed by Unicode replacement characters.
Auto detect is necessarily heuristic because many ordinary words use only Base58 characters. Select Encode or Decode explicitly for production data. Grouped output is for reading; spaces are not part of a Base58 alphabet and are removed only when the whitespace option is enabled during decoding.
Reference implementations and conventions
There is no RFC that defines a single generic Base58 alphabet. TheBitcoin Core Base58 implementationis the primary reference for the Bitcoin alphabet, while theBase58Check descriptiondocuments the leading-zero and checksum convention used by Bitcoin formats. No Base58Check checksum is calculated or verified here.
