Skip to content
Toolew.com

Base58 Encoder Decoder

Encode text or hex to Base58 and decode it back, with Bitcoin, Flickr and Ripple alphabets and optional Base58Check checksum verification.

Runs in your browser. Your data is not uploaded.
Loading tool…

Tool guide

What this tool does

Base58 Encoder Decoder converts bytes to the compact, unambiguous Base58 format used by Bitcoin addresses, IPFS content IDs and Solana keys, and decodes it back. It supports the Bitcoin, Flickr and Ripple alphabets and can add or verify a Base58Check checksum.

Base58 was introduced with Bitcoin to write long binary values, such as public-key hashes, as short strings people can copy without mistakes. It is Base64 with six characters removed: the digit 0, capital O, capital I and lowercase l, which look alike in many fonts, plus “+” and “/”, which break double-click selection and URLs. The result is purely alphanumeric. Unlike Base64 it is not a fixed bit-grouping; the whole input is treated as one big number and converted to base 58, with each leading zero byte written as the first alphabet character (“1” in Bitcoin’s alphabet).

This tool performs that conversion exactly, in both directions, for text or raw hexadecimal bytes. Base58Check, used by Bitcoin addresses and WIF private keys, appends the first four bytes of a double SHA-256 hash of the payload; switch it on to add the checksum when encoding, or to verify and strip it when decoding. A mismatch is reported with the expected and found values, which catches typos. Hashing uses the browser’s Web Crypto API, and nothing is sent anywhere.

How to use Base58 Encoder Decoder

  1. Paste text, hex bytes or a Base58 string into the Input box.
  2. Choose “Encode to Base58” or “Decode Base58” as the Mode.
  3. Select the Alphabet: Bitcoin is used by Bitcoin, IPFS and Solana; Flickr and Ripple use different orders.
  4. Set “Plain data format” to Hexadecimal bytes when working with keys, hashes or addresses.
  5. Switch on Base58Check to add or verify the 4-byte checksum, then copy the result.

Tips for better results

  • Decode a legacy Bitcoin address with Base58Check and hex output: the first byte is the version (00 for P2PKH, 05 for P2SH) and the next 20 bytes are the hash.
  • Base58 output length is not fixed per byte; on average each byte needs about 1.37 characters.
  • IPFS CIDv0 values starting with “Qm” are Base58 (Bitcoin alphabet) multihashes, which begin with 12 20 in hex.
  • Turn on “Process each line separately” to encode or decode a list of values at once.

Common use cases

  • Inspecting the version byte and hash inside a cryptocurrency address.
  • Converting a Solana or IPFS identifier to hexadecimal for a database or API.
  • Generating short, URL-friendly IDs from random bytes.
  • Checking whether an address was mistyped by verifying its Base58Check checksum.

Common mistakes to avoid

  • Decoding with the wrong alphabet: Ripple and Bitcoin strings use the same characters in a different order, so the bytes differ completely.
  • Expecting Base58Check on every Base58 value. IPFS CIDs and Solana keys do not include a checksum, so verification fails on them.
  • Assuming Bech32 addresses (starting bc1) are Base58. They use a different encoding entirely.

Frequently asked questions

Which characters does Base58 leave out?

The Bitcoin alphabet omits 0 (zero), O (capital o), I (capital i) and l (lowercase L), as well as the symbols + and / used by Base64. That leaves 58 characters.

Why do Bitcoin addresses start with 1?

The version byte for a standard address is 00, and each leading zero byte is encoded as “1”, the first character of the Bitcoin alphabet.

How is the Base58Check checksum calculated?

The payload is hashed with SHA-256, the result is hashed with SHA-256 again, and the first four bytes of that second hash are appended before Base58 encoding.

Is there a size limit?

Base58 conversion is quadratic in the input length, so the tool limits input to 64 KB. Base58 is intended for short values such as keys, hashes and identifiers.

Feedback & suggestions

Help us improve Base58 Encoder Decoder. We read every message.

Rating (optional)
Necessary
Required for security, language and theme preferences. Always on.