Base58 Encoder
Encode and decode Base58 strings using the Bitcoin alphabet
About Base58 Encoder
Encodes the UTF-8 bytes of your text as Base58 with the Bitcoin alphabet, so Hello becomes 9Ajdvzr, and decodes Base58 strings back into text. Leading zero bytes map to leading 1 characters, following Bitcoin's convention. Useful for creating copy-friendly encodings of short strings or checking Base58 values in test data and configuration.
Category: Encoding.
Frequently asked questions
What is Base58?
▾
Base58 is a binary-to-text encoding that uses 58 alphanumeric characters. It deliberately omits characters that look similar or are ambiguous: 0 (zero), O (capital o), I (capital i), and l (lowercase L). This makes encoded strings easier to read and transcribe manually.
How is Base58 different from Base64?
▾
Base64 uses 64 characters, including + and /, plus = for padding, which can cause issues in URLs and filenames. Base58 uses only alphanumeric characters, has no padding, and is more human-friendly — at the cost of slightly longer output.
Is this the same encoding Bitcoin uses?
▾
It uses the same alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Bitcoin addresses, however, use Base58Check, which adds a version byte and a 4-byte checksum; this tool neither adds nor verifies checksums, and decoding an address shows its raw bytes as unreadable text.
Why does decoding fail with an invalid character error?
▾
Only the 58 alphabet characters are accepted, so any 0, O, I or l, or a space or line break, even a trailing one, triggers the error; trim the string before decoding. Letters are case-sensitive, so changing their case changes the decoded value.