Base58 Encoder / Decoder
Encode and decode Bitcoin-style Base58.
Overview
The Base58 encoder and decoder converts arbitrary bytes to and from the alphabet popularised by Bitcoin addresses. It strips out visually ambiguous characters — no 0, O, I, or lowercase l — so the resulting strings survive being read aloud, scrawled on paper, or scanned by humans without typo risk.
Blockchain developers reach for Base58 to format addresses, public keys, and WIF private keys. Anyone designing user-facing identifiers — short URLs, license keys, voucher codes — also benefits from a base58 encoder online when they want something dense but still copy-paste safe.
How it works
Base58 treats the input as a single large unsigned integer and repeatedly divides by 58, collecting remainders into the Bitcoin alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Leading zero bytes become leading 1 characters to preserve byte length on decode. There is no padding character, unlike Base64. For addresses and keys, Bitcoin uses a variant called Base58Check that appends a 4-byte SHA-256(SHA-256(payload)) prefix as a checksum — this tool can encode raw or Base58Check payloads.
Examples
Input: Hello World
Output: JxF12TrwUP45BMd
Input: 0x00000000 (4 zero bytes)
Output: 1111
Input: bytes 00 01 02 03
Output: 11Ldp
Input: JxF12TrwUP45BMd
Output: Hello World
FAQ
Why no 0 or O?
The whole point of Base58 is to be human-readable. Removing the four characters that look alike in common fonts — 0/O and I/l — eliminates the most common transcription mistakes.
Is Base58 the same as Base58Check?
Not quite. Base58Check wraps Base58 with a version byte prefix and a doubled-SHA-256 checksum suffix, then encodes the whole thing. That is what Bitcoin uses for addresses; raw Base58 is just the encoding step.
Can I encode binary, not just text?
Yes. Paste hex bytes and the tool will decode them first, then Base58 the result. Leading 0x00 bytes are preserved as leading 1 characters.
Is it compatible with the Flickr or Ripple alphabets?
Those are different orderings of the same 58 characters. This tool uses the Bitcoin alphabet; check the destination system's spec before assuming interoperability.