Base58 Encoder / Decoder
How it works
Encode treats your text's UTF-8 bytes as one big number and repeatedly divides it by 58,
mapping each remainder through the standard Bitcoin alphabet
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz — 58 characters,
deliberately missing 0, O, I and l.
Decode reverses that, with full Unicode support. A character outside the alphabet — most
often a mistyped 0/O or I/l — shows a
clear error naming it, once you have stopped typing.
Frequently asked questions
Why are 0, O, I and l excluded from the Base58 alphabet?
Because they look confusingly similar in many fonts — a digit zero and a capital O, or a capital I and a lowercase l, can be nearly indistinguishable, especially handwritten or read aloud. Base58 exists specifically to avoid that ambiguity, unlike Base64, which includes all of them.
Where is Base58 commonly used?
Bitcoin and other cryptocurrency addresses are the best-known use, but it shows up anywhere that wants a compact, human-typeable, unambiguous encoding — short IDs, invite codes, and other values a person might need to read back or type in by hand.
How are leading zero bytes handled?
Each leading 0x00 byte becomes one leading '1' character in the output. A leading zero byte carries no weight in the big-integer math Base58 encoding is built on, so without this special case it would silently vanish — this detail matters for round-tripping exactly, not just approximately.