Base58 Encoder
Encode text or hex bytes to Base58 with the Bitcoin alphabet. Leading zero bytes become 1s, no ambiguous 0/O/I/l characters. Free, in-browser.
12 characters · 12 bytes (UTF-8)
0 characters · 0 bytes (UTF-8)
Runs entirely in your browser. Your data is never uploaded.
What is Base58 Encode?
Encodes data with Base58 using the Bitcoin alphabet (123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz). Base58 leaves out 0, O, I and l so values can be read and typed without confusion; it is used for Bitcoin addresses, IPFS CIDs and Solana keys.
How to use Base58 Encode
- Enter text in Input, or switch Input format to Hex bytes to encode raw bytes such as a hash or key.
- The Base58 string appears in Output.
- Use Copy or Use as input to decode it again.
Example
Hello World!
2NEpo7TZRRrLZSi2U
When to use Base58 Encode
Use Base58 for short identifiers humans may copy by hand. It is not suited to large data: the conversion is quadratic and there is no streaming form. For Bitcoin addresses you also need Base58Check, which this tool does not add.
How Base58 Encode works
The bytes are treated as one big-endian number and repeatedly divided by 58; the remainders, read in reverse, select the alphabet characters. Because a number has no leading zeros, every leading 0x00 byte is written as a leading 1. This is plain Base58 – no checksum is added (Base58Check adds a 4-byte double-SHA-256 checksum, which this tool does not compute).
Common Use Cases
- Encoding a public key hash or hash digest for display
- Creating compact human-friendly IDs
- Checking Base58 output of another library
- Understanding why addresses start with "1"
FAQs
Why do zero bytes become "1"?
"1" is the Base58 digit for zero. Each leading zero byte is kept as one "1" so the exact byte length can be restored.
Does this produce Bitcoin addresses?
No. An address needs a version byte, a hash and a Base58Check checksum. This tool only performs the Base58 step.
Which alphabet is used?
The Bitcoin alphabet. Ripple and Flickr use different orders and are not supported.