Contact

Tools  /  Encoding  /  Base58 Encoder / Decoder

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.

Frequently asked questions

Is my data uploaded anywhere?
No. Encoding, decoding, and checksum verification all run locally in the browser — nothing is sent to a server.
Why does Base58 leave out characters like 0, O, I, and l?
Those characters look alike in many fonts, and Base58 is specifically meant for values that get copied by hand, such as a cryptocurrency address. Removing the ambiguous characters makes a small transcription mistake far more likely to be noticed.
What is the difference between the Bitcoin, Ripple, and Flickr alphabets?
All three use the same 58 characters, ordered differently. The same input bytes produce different Base58 text depending on which alphabet is selected, and decoding with the wrong one for a given value can silently produce something incorrect rather than failing outright, so the alphabet has to match the system the value came from.
What is Base58Check, and how is the checksum verified?
It is the checksum format Bitcoin uses for addresses and private keys: a version byte is prepended to the data, a double round of SHA-256 is computed over the result, and the first four bytes become a checksum appended before Base58-encoding. Decoding recomputes that same checksum independently and compares it, reporting whether it actually matches rather than assuming the input is correct.
What does the version byte control?
It is what distinguishes one address or key type from another within the same Base58Check scheme — different version bytes are used for a mainnet address, a testnet address, or a private key, for example, all Base58Check-encoded the same way otherwise.
Can it encode a binary file, not just typed text?
Yes — a file's bytes can be loaded directly for encoding in addition to typed text or manually entered hex, and decoding can produce a real downloadable binary file as well.
Theme Accent