Base58 Encoder / Decoder

Pick a direction and paste — the conversion runs as you type, in this page.

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.