Base58 Encode / Decode
Free Base58 encoder and decoder with the Bitcoin, Flickr and Ripple alphabets, Base58Check version and checksum handling, and text or hex input.
How to use Base58 Encode / Decode
- 1Choose Encode or Decode, an alphabet, and Plain or Base58Check mode.
- 2Enter text, or switch the input to Hex when you have raw bytes, or press Try example.
- 3Copy the result. In Base58Check decode you also see the version byte and the checksum result.
What makes it better
- Bitcoin, Flickr and Ripple alphabets
- Base58Check with a version byte and double SHA-256 checksum
- Text or hex input, and hex or text output
- Leading zero bytes and leading 1s handled correctly
- Tells you which character is invalid and where
About Base58 Encode / Decode
Base58 Encode / Decode converts bytes to Base58 and back without the look-alike characters 0, O, I and l. Feed it text or hex, pick the Bitcoin, Flickr or Ripple alphabet, and switch on Base58Check to add or verify a version byte and a double SHA-256 checksum. Leading zero bytes are preserved as leading 1s, and everything is calculated in your browser.
Common uses
- Inspect a Bitcoin-style address and confirm its checksum is valid.
- Convert a hex key or hash into a compact Base58 identifier, or back again.
- Decode a short Base58 ID from a Flickr-style URL or an API response.
- Check that your own Base58 implementation matches known test vectors.
Example
Input
Hello World!
Result
2NEpo7TZRRrLZSi2U
Good to know
- Base58 is an encoding, not encryption. The Base58Check checksum catches typos, but it is not a signature and proves nothing about who made the value.
- Base58 conversion is a big-number calculation and slows down quickly with size. It suits short values such as keys and addresses; the tool warns above 64 KB and stops at 100,000 bytes.
- Never paste a private key or seed phrase into any website you do not control. This tool runs in your browser, but a clipboard or extension can still leak secrets.
Base58 Encode / Decode FAQ
What is Base58 and why does it skip some characters?
Base58 is Base62 minus the look-alikes 0 (zero), O (capital o), I (capital i) and l (lowercase L), plus the symbols + and /. The result is compact, easy to copy by hand and safe in a URL.
What is Base58Check?
Base58Check adds a version byte in front of the data and four checksum bytes at the end, taken from SHA-256 applied twice. A single mistyped character then fails the check instead of silently giving another value.
Why do leading 1s appear in my Base58 output?
Each leading zero byte is written as one leading 1 (the first symbol of the Bitcoin alphabet), because a plain big-number conversion would otherwise drop them. Decoding turns those 1s back into zero bytes.
Which Base58 alphabet should I pick?
Use Bitcoin unless your source says otherwise; it is the most common. Flickr swaps the order of upper and lower case, and Ripple uses its own order, so decoding with the wrong one gives different bytes.
Why is Base58 slower than Base64 for large input?
Base64 maps fixed groups of bits, while Base58 treats the whole input as one huge number and repeatedly divides it. That work grows with the square of the length, so large files are the wrong use for it.