Base58 Encoder / Decoder

Encode and decode text using Base58 encoding, commonly used in Bitcoin addresses and other applications.

Input

0 characters

Output

0 characters

Alphabet Characters

Bitcoin (Default):
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Most common, excludes: 0, O, I, l

Ripple:
rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz

Used by Ripple cryptocurrency

Flickr:
123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ

Used by Flickr for short URLs

Features

  • Encode text to Base58
  • Decode Base58 to text
  • Three alphabet variants
  • Handles leading zeros
  • Copy input/output
  • Swap encode/decode
  • Character counter
  • Error handling

About Base58 Encoder / Decoder

Base58 is a binary-to-text encoding scheme that is similar to Base64 but designed to avoid ambiguous characters. It's commonly used in Bitcoin addresses, IPFS content identifiers, and other applications where human readability and transcription accuracy are important.

What is Base58?

Base58 encoding uses 58 alphanumeric characters to represent binary data. Unlike Base64, it excludes characters that look similar to each other (0, O, I, l) to prevent confusion when reading or typing. This makes it ideal for applications where users need to manually enter or verify encoded strings.

Why Use Base58?

Advantages:

  • No ambiguous characters - Excludes 0 (zero), O (capital o), I (capital i), and l (lowercase L)
  • Easier to read and transcribe - Reduces errors when manually copying
  • Shorter than hexadecimal - More compact representation
  • Double-click selects entire string - No special characters that break selection
  • Case-sensitive - Allows for more combinations in shorter strings

Excluded Characters:

The following characters are intentionally excluded from Base58 to avoid confusion:

  • 0 (zero) - Can be confused with O
  • O (capital o) - Can be confused with 0
  • I (capital i) - Can be confused with l and 1
  • l (lowercase L) - Can be confused with I and 1

Base58 Alphabet Variants

Bitcoin (Default):

The most commonly used Base58 alphabet, created for Bitcoin addresses. It uses the character set: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

Ripple:

Used by the Ripple cryptocurrency network. It uses a different character ordering: rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz

Flickr:

Used by Flickr for generating short URLs. Character set: 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ

Common Use Cases

  • Bitcoin and cryptocurrency addresses - Wallet addresses and transaction IDs
  • IPFS content identifiers (CIDs) - Distributed file system addressing
  • Short URLs and identifiers - Compact, readable identifiers
  • Data encoding for human readability - When users need to manually enter data
  • Blockchain applications - Smart contract addresses and hashes
  • Distributed systems - Node identifiers and content addressing
  • QR codes with text data - Encoding data for QR code generation

How Base58 Encoding Works

Base58 encoding converts binary data into a base-58 number system. The process involves:

  1. Converting the input data to a large integer
  2. Repeatedly dividing by 58 and using the remainder to select characters
  3. Handling leading zeros by prepending the first character of the alphabet
  4. Reversing the result to get the final encoded string

Features of This Tool

  • Encode text to Base58 - Convert any text to Base58 format
  • Decode Base58 to text - Convert Base58 back to original text
  • Three alphabet variants - Bitcoin, Ripple, and Flickr
  • Handles leading zeros - Properly preserves leading zero bytes
  • Copy input/output - One-click copying to clipboard
  • Swap encode/decode - Quickly switch between modes
  • Character counter - Track input and output length
  • Error handling - Clear error messages for invalid input

Base58 vs Base64

While both Base58 and Base64 are binary-to-text encoding schemes, they serve different purposes:

  • Base64 - Uses 64 characters (A-Z, a-z, 0-9, +, /), more compact, but includes ambiguous characters
  • Base58 - Uses 58 characters, slightly less compact, but optimized for human readability and manual transcription