Categories

Base32 / Base58 / Base85 Encoder

Encode and decode text with Base32, Base58, or Base85

Encoding

26 letters and the digits 2-7. Case-insensitive on decode; output is padded with "=" to a multiple of 8 characters.

Direction
Base32 (RFC 4648) alphabet
ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 + "=" padding
Encoding, not encryption. Base32, Base58, and Base85 are binary-to-text encodings with no secret key — anyone can decode them, so they provide no confidentiality. Text is converted to UTF-8 bytes before encoding, so accents, non-Latin scripts, and emoji round-trip exactly. Everything runs in your browser; nothing you paste is uploaded. Looking for standard Base64? Use the Base64 Encode/Decode tool.

Base32, Base58 & Base85 Encoder and Decoder

This free tool encodes text to Base32, Base58, or Base85 and decodes any of them back to readable text. They are the binary-to-text encodings you reach for when Base64 is not the right fit: Base32 for case-insensitive, typo-resistant tokens (TOTP/2FA secrets, DNS labels, filenames), Base58 for Bitcoin addresses and other blockchain identifiers, and Base85 (Ascii85) for compact payloads inside PDF and PostScript files.

Each codec is spec-accurate — Base32 follows RFC 4648, Base58 uses the Bitcoin alphabet, and Base85 implements Ascii85, the Adobe variant — and text is converted to UTF-8 before encoding, so accents, non-Latin scripts, and emoji round-trip exactly. Everything runs in your browser and nothing you paste is uploaded. For classic Base64, use the dedicated Base64 Encode/Decode tool.

How to use Base32 / Base58 / Base85 Encoder

  1. Choose an encoding: Base32, Base58, or Base85.
  2. Choose a direction: Encode (text to the encoding) or Decode (the encoding back to text).
  3. For Base85, optionally collapse all-zero 4-byte groups to a single "z" and wrap the output in the Adobe <~ ~> delimiters; the decoder accepts both automatically.
  4. Type or paste your input — the output updates live as you type.
  5. Copy the result, download it as a .txt file, or press Swap to move the output back into the input and flip the direction to verify a round-trip.

Base32 (RFC 4648)

Base32 represents each group of 5 bytes as 8 characters drawn from a 32-symbol alphabet: the 26 uppercase letters A to Z and the digits 2 to 7. It omits 0, 1, 8, and 9 to avoid confusion with O, I, B, and g, which makes it safe to read aloud, type by hand, or use in case-insensitive contexts such as DNS and filenames. Output is padded with = to a multiple of 8 characters. This tool decodes case-insensitively and ignores whitespace.

Hello  ->  JBSWY3DP
Five bytes encode to exactly eight Base32 characters, so no padding is needed here.

Base58 (Bitcoin)

Base58 encodes the whole input as one large number and rewrites it in base 58, using an alphabet that deliberately drops the four look-alike characters 0 (zero), O, I, and l. It has no padding, and because it is a pure number conversion, each leading zero byte is preserved separately as a leading "1". It is the format behind Bitcoin addresses, WIF private keys, and IPFS base58btc content IDs.

Note that this tool performs raw Base58 only. It does not add or verify the version byte and 4-byte checksum used by Base58Check, so encoding text here does not produce a valid, checksummed Bitcoin address.

Hello World  ->  JxF12TrwUP45BMd
Raw Base58 of the ASCII text "Hello World" (no checksum).

Base85 / Ascii85

Base85 packs every 4 bytes into just 5 printable characters, giving about 25% size overhead versus Base64's 33%. This implementation is Ascii85 (the Adobe variant): the 85 symbols are the ASCII characters "!" (33) through "u" (117), a group of four zero bytes may be abbreviated to a single "z", and the Adobe framing wraps the data in <~ and ~> delimiters. It is best known for embedding binary streams in PDF and PostScript files.

Man   ->  9jqo^        <~9jqo^~>  (Adobe framing)
The four bytes of "Man " become five Ascii85 characters.

Which encoding should I use?

  • Base32 — when the value must survive being typed, spoken, or handled case-insensitively (2FA/TOTP secrets, DNS, filenames).
  • Base58 — for blockchain identifiers and short, human-friendly IDs where look-alike characters must be avoided.
  • Base85 — when density matters and the target is a text channel that allows the full printable-ASCII range, such as PDF or PostScript.
  • Base64 — the general-purpose default for data URIs, email (MIME), and HTTP; use the separate Base64 Encode/Decode tool.

Related terminology

Binary-to-text encoding
A scheme that represents arbitrary bytes using a limited set of printable characters so the data survives text-only channels. Base32, Base58, Base85, and Base64 are all examples.
Base32 (RFC 4648)
A 32-character encoding using A to Z and 2 to 7, padded with =. It is case-insensitive and typo-resistant, which suits it to hand-typed secrets and DNS.
Base58 / Base58Check
Base58 is a base conversion over an alphabet without 0, O, I, or l. Base58Check adds a version byte and a checksum on top; this tool implements raw Base58 only.
Ascii85 (Base85)
An encoding that maps 4 bytes to 5 characters in the range "!" to "u", with an optional "z" shortcut for all-zero groups and optional <~ ~> Adobe delimiters.
Padding
Extra characters added so the output length is a whole number of groups. Base32 uses =; Base58 and Ascii85 handle short final groups without trailing padding.

Frequently asked questions

What is the difference between Base32, Base58, Base85, and Base64?
They trade density for safety differently. Base85 is the most compact (5 characters per 4 bytes) but uses many symbols; Base64 is the common default; Base32 uses only 32 easy-to-read characters and is case-insensitive; Base58 drops look-alike characters and is used for blockchain IDs. This tool covers Base32, Base58, and Base85 — Base64 has its own dedicated tool.
Does this tool create valid Bitcoin addresses?
No. It performs raw Base58 encoding and decoding. Bitcoin addresses use Base58Check, which prepends a version byte and appends a 4-byte double-SHA-256 checksum. This tool does not add or verify that checksum, so its output is not a valid, spendable address.
Which Base85 variant is this — Ascii85, Z85, or RFC 1924?
It is Ascii85, the Adobe variant used in PDF and PostScript, with the "z" all-zero shortcut and optional <~ ~> delimiters. It is not ZeroMQ's Z85 or the RFC 1924 (IPv6) variant, which use different alphabets and would not decode compatibly.
Does it support Unicode and emoji?
Yes. Text is converted to UTF-8 bytes before encoding, so accented letters, non-Latin scripts, and emoji encode and decode losslessly. When you decode data that is not valid UTF-8 text, the tool shows the bytes with replacement characters and warns that the data may be binary.
Why did my Base85 output contain a single "z"?
In Ascii85 a run of four zero bytes can be abbreviated to the single character "z" instead of "!!!!!". You can turn this shortcut off in the Base85 options; the decoder understands "z" either way.
Is my text uploaded to a server?
No. All encoding and decoding happen in your browser with JavaScript, so nothing you paste is uploaded, logged, or leaves your device.

Related tools