Base32 / Base58 / Base85 Encoder

Encode and decode text using Base32, Base58, Base85 (Ascii85), or Base62. 100% client-side.

Input
Encoded Output
Enter text above to encode.
Base32 alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567

How to Use the Encoder

  1. Choose an encoding: Base32, Base58, Base85 (Ascii85), or Base62.
  2. Choose a direction: Encode (text in, encoded out) or Decode (encoded in, text out).
  3. Type or paste your input — the result appears instantly.
  4. Copy or download the result using the buttons above the output.

Understanding the Encodings

Base32 (RFC 4648)

Base32 maps every 5 input bytes to 8 output characters, using a 32-character alphabet of uppercase A–Z and digits 2–7. The = padding character aligns output to 8-character blocks. Base32 is particularly popular for TOTP (Time-based One-Time Password) secrets used in two-factor authentication apps like Google Authenticator, where the secret is stored and displayed in Base32 for ease of manual entry. Since the alphabet excludes 0, 1, 8, and 9, there is no confusion between visually similar characters.

Base58 (Bitcoin Alphabet)

Base58 was invented for Bitcoin addresses by Satoshi Nakamoto. It removes six characters from Base64 that cause problems: 0 (zero), O (capital o), I (capital i), l (lowercase L), +, and /. The remaining 58 characters are safe to include in URLs without escaping and are unambiguous when printed. Base58 is used in Bitcoin and most altcoin addresses, IPFS CIDs (older format), and Flickr short URLs. Note: Base58 uses big-integer arithmetic, not a simple lookup table like Base32 or Base64, making it slightly more CPU-intensive.

Base85 / Ascii85

Base85 encodes every 4 bytes of binary data as 5 printable ASCII characters (range 0x21–0x75). This gives a theoretical overhead of just 25%, compared to 33% for Base64 — making it the most space-efficient of the common binary-to-text encodings. Ascii85 is used extensively in PostScript and PDF files to embed binary resources (fonts, images) in text format. The special case z replaces five ! characters (an all-zero group) for further compression. Our implementation supports the standard Ascii85 format with <~ and ~> delimiters.

Base62

Base62 uses only alphanumeric characters: digits 0–9, uppercase A–Z, and lowercase a–z. With no special characters at all, Base62 strings work safely in URLs, file names, HTML attributes, and programming language identifiers without any escaping. Base62 is the workhorse of URL shorteners — a 7-character Base62 string can represent over 3.5 trillion unique IDs. It is also used for generating collision-resistant short identifiers in databases. Explore more encoding tools: Base64 Encoder, Binary Translator.

Frequently Asked Questions

Base32 is a binary-to-text encoding using a 32-character alphabet (A–Z and 2–7), defined in RFC 4648. It encodes 5 bits per character and pads output with '=' signs. Base32 is case-insensitive and avoids confusable characters, making it ideal for TOTP secrets and human-readable tokens.
Base58 was created for Bitcoin addresses. It removes visually confusing characters (0, O, I, l, +, /) from Base64, making strings safe for copying from printed material and free of URL-unsafe characters. It's used in Bitcoin addresses, IPFS CIDs, and Flickr's short URL system.
Base85 encodes every 4 bytes as 5 ASCII characters, achieving ~25% overhead vs Base64's 33%. It was popularized by Adobe PostScript and PDF for embedding binary data in text. The Z85 variant restricts the alphabet for use in source code strings.
Base62 uses 62 characters: 0–9, A–Z, and a–z. Being purely alphanumeric, it's safe for URLs, file names, and identifiers without escaping. Commonly used in URL shorteners and unique identifier generation.
Base64 uses 64 characters (A–Z, a–z, 0–9, +, /) and encodes 6 bits per character with ~33% overhead. Base32 uses 32 characters and encodes 5 bits per character with ~60% overhead. Base32 is case-insensitive and avoids confusable characters — better for human-typed tokens; Base64 is more space-efficient for machine data.