Base58 Encoder / Decoder
Encode and decode Base58 — Bitcoin, Ripple and Flickr alphabets, plus Base58Check with a verified checksum.
What this tool does
Text, hex bytes, or a binary file convert to Base58 and back, in whichever of three real alphabets applies, with an optional Base58Check mode implementing the actual checksum scheme cryptocurrency addresses use.
Why Base58 leaves some characters out
Base58 deliberately excludes 0, O,
I, and l — characters that look alike in
many fonts and are easy to misread or mistype when a value has to
be copied by hand, which is exactly the situation a cryptocurrency
address or key is usually in.
Three alphabets — not all Base58 is the same
Bitcoin, Ripple, and Flickr each order the same 58 characters differently, so the identical bytes produce different Base58 text depending on which one is selected. Using the wrong alphabet for a given value decodes it into something else entirely without necessarily throwing an error, so the alphabet has to match the system the value actually came from.
Base58Check: the real address checksum scheme
Encoding with Base58Check prepends a version byte to the data, computes a genuine double round of SHA-256 over that combination, and appends the first four bytes of the result as a checksum before Base58-encoding the whole thing — precisely how a Bitcoin address or WIF private key is constructed. The version byte is configurable, since it is what distinguishes one address type from another. Decoding reverses the process and independently recomputes the checksum to confirm it matches, showing the version byte, the underlying payload, and a pass or fail result rather than just handing back bytes with no indication of whether they were tampered with or mistyped.
Privacy
Encoding, decoding, and checksum verification all happen in your browser. Nothing you paste, drop, or load is sent to a server.