Base58 Encoder & Decoder
Encode text or hex bytes to Base58 and decode Base58 back, with Base58Check and the Bitcoin, Ripple and Flickr alphabets.
Input: 0 characters ยท Output: 0 characters
How it works
Base58 is the base-58 encoding introduced by Bitcoin and reused by IPFS, Ripple and Flickr.
It is a plain base conversion of the whole byte string into 58 digits, with one twist: every
leading 0x00 byte becomes one leading 1. The Bitcoin alphabet drops
the four characters people misread โ 0 (zero), O (capital o),
I (capital i) and l (lowercase L) โ plus + and
/, so a Base58 string survives being read aloud, written down or double-clicked
as a single word. That is why it carries addresses and identifiers rather than bulk data.
Choose Encode or Decode and the result updates as you type.
Feed it UTF-8 text or raw hex bytes โ hex is the honest choice for keys, hashes and
addresses, since arbitrary bytes are rarely valid text. Tick Base58Check and
encoding appends the first 4 bytes of SHA-256(SHA-256(payload)), exactly as the
Bitcoin Base58Check specification defines it, while decoding verifies that checksum and tells
you when a character was mistyped. Switch alphabets for Ripple's
rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZโฆ ordering or Flickr's lowercase-first variant.
Everything runs in JavaScript on your device, hashing through the Web Crypto API, so keys and
addresses are never uploaded.
Frequently asked questions
How do I encode text or hex to Base58?
Leave the mode on Encode, pick whether your input is UTF-8 text or hex bytes, then type or paste it into the left box. The Base58 appears in the right box as you type, with no button to press. Use hex for keys, hashes and addresses, because raw bytes are rarely valid text. Copy result puts it on your clipboard, Download .txt saves it, and Swap feeds the result straight back in with the direction reversed so you can check the round trip.
Why does Base58 leave out 0, O, I and l?
Base58 was designed for strings people read, retype and say out loud, so the Bitcoin alphabet removes the four characters that are easy to confuse in common fonts: the digit zero, capital O, capital i and lowercase L. It also drops + and / so a Base58 string selects as a single word with a double-click and survives a URL unescaped. That leaves 58 characters, which is where the name comes from. If you paste a string containing one of the excluded characters, this tool names the character rather than returning empty output.
What does the Base58Check option do?
Base58Check is the variant Bitcoin uses for addresses and WIF keys. On encode it appends the first 4 bytes of SHA-256(SHA-256(payload)) to your data before the Base58 conversion, so a mistyped character can be caught. On decode it splits those 4 bytes off, recomputes the hash and tells you whether the checksum matches before showing the payload. The hashing runs locally through the Web Crypto API in your browser, so private keys and addresses are never uploaded, stored or logged.