1001Ferramentas
Utilities

Base58 Bitcoin Encoder

Encodes and decodes bytes in Base58 using the Bitcoin alphabet (no 0, O, I, l).

Base58, and why it drops four characters from the alphabet

Base58 was born in Bitcoin with a very specific goal: produce text a person can read aloud, write on paper and type back without mistakes. To that end, the 58-character alphabet removes exactly the four that get confused with each other — zero, capital O, capital I and lowercase l. It also leaves out base64's + and /, which get in the way inside URLs and on a double-click.

Here you type text and get back its base58 encoding using the Bitcoin alphabet. The maths treats the input as one large integer, in the order the bytes appear, and divides repeatedly by 58. Leading zero bytes do not survive that numeric conversion, so they are represented separately, each becoming a "1" at the front of the result — the same rule that makes a legacy Bitcoin address start with 1.

One important distinction: this is plain base58, not Base58Check. Wallet addresses and WIF keys use the checked variant, which prepends a version byte and appends four checksum bytes computed with double SHA-256 before encoding. Without those bytes the result is a valid encoding, but it is not an address, and no wallet will accept it.

Frequently asked questions

Does base58 compress the data?
No, it expands it — just far less than hexadecimal. Each byte takes about 1.37 base58 characters, against 2 for hex and 1.33 for base64. The advantage is not size, it is an alphabet with no ambiguous characters and no symbols that break in a URL.
Why does the output not start with the same character when I change only the first byte?
Because the conversion treats the whole input as a single number, not byte by byte. Changing any byte changes the whole number, and repeated division by 58 redistributes every digit. It is the same effect as converting a large decimal number into another base.
Can I decode back here?
This page only encodes. The inverse operation exists and is straightforward — rebuild the number from the digits and recover the bytes — but in practice anyone who needs to decode is usually dealing with Base58Check and also has to validate the checksum, which is a different tool.

Related Tools