Skip to main content
Back to tools

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.

Related tools