Skip to main content
DevConverter
Home/Encoding / Decoding/Base58 Encode / Decode

Base58 Encode / Decode

Encode and decode data with Base58 — the alphabet used by Bitcoin addresses, IPFS CIDs, and other blockchain identifiers.

Input as
Base58
9Ajdvzr
Hex bytes
48 65 6c 6c 6f

5 bytes → 7 chars

Base58 Alphabet

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Excludes 0 (zero), O (uppercase o), I (uppercase i), and l (lowercase L) to avoid visual ambiguity.

About this tool

Base58 is an encoding scheme that uses 58 alphanumeric characters: digits 1–9 and uppercase and lowercase letters, explicitly excluding 0 (zero), O (uppercase o), I (uppercase i), and l (lowercase L). These four characters were excluded because they are visually similar and easily confused when reading or copying strings by hand. Base58 was created by Satoshi Nakamoto for Bitcoin addresses.

Base58 is used primarily in cryptocurrency and distributed systems. Bitcoin addresses, private keys in Wallet Import Format (WIF), and IPFS content identifiers use Base58Check — Base58 encoding with an embedded 4-byte checksum that allows detecting transcription errors. Ethereum uses hexadecimal for addresses because it targets machine-to-machine communication where visual ambiguity is not a concern.

Unlike Base64, Base58 is not block-aligned — it treats the entire input as a large integer and converts it to the target base using arithmetic, similar to how you convert between number bases by repeated division. Leading zero bytes in the input are specially handled: each leading zero byte maps to one leading '1' character (by convention), which is why many Bitcoin addresses begin with '1'. The lack of padding characters means Base58 strings have variable length.