Skip to main content

Base85 (Ascii85) Encoder/Decoder

Encode text to Base85 (Ascii85) or decode Base85 strings back to plain text. More compact than Base64, the encoding used by Adobe PostScript and PDF.

Input

Output

Result
Was this helpful?

Guides

Base85, also known as Ascii85, is a binary-to-text encoding scheme that represents arbitrary bytes using 85 printable ASCII characters instead of the 64 used by Base64. Packing more information into each output character means Ascii85 output is roughly 25% larger than the original data — noticeably more compact than Base64's ~33% overhead — while remaining safe to embed in plain text, source code, or documents.

What it's used for

  • PostScript and PDF — Adobe designed Ascii85 (originally "btoa85") to embed binary data like images and fonts inside PostScript and PDF files, where it's still the standard /ASCII85Decode filter today.
  • Compact text-safe transport — any text-only channel (email bodies, config files, logs) that needs to carry binary data without Base64's extra size.

How to use this tool

  1. Paste text into the input box.
  2. Choose Encode to convert plain text to Base85, or Decode to convert a Base85 string back to text.
  3. The result appears automatically — no button click needed. Use the copy or download icon to grab it.

Encoding UTF-8-encodes your text first, so emoji and non-Latin scripts round-trip correctly. Decoding expects the standard Ascii85 alphabet (! through u, ASCII codes 33–117); invalid characters or malformed groups produce a clear error instead of garbage output. Optional <~ / ~> wrapper delimiters, if present, are stripped automatically before decoding.

Which variant is this?

This tool implements standard/Adobe Ascii85: 4 input bytes become 5 output characters by treating each 4-byte group as a big-endian 32-bit number converted to base 85, mapping each digit to a character by adding 33 (!). It includes the classic shortcut where an all-zero 4-byte group is written as a single z instead of !!!!!. It does not emit the traditional <~...~> wrapper, so output is a plain, copy-pasteable string. Other variants exist (RFC 1924 for IPv6 literals, and Z85, a URL/JSON-safe alphabet used by ZeroMQ) with different alphabets — those aren't covered here.

FAQ

Why is my Base85 output larger than the original text? Every 4 input bytes become 5 output characters (a 25% increase, less when the z shortcut applies) because binary data is being represented using only printable characters. This matches the standard Ascii85 algorithm.

Is Base85 the same as Base64? No. Base85 uses 85 characters per digit for more compact output (~25% overhead) while Base64 uses 64 characters (~33% overhead) but is more universally recognized. Use Base85 when size matters and the target format (like PDF) expects it; use Base64 for broader compatibility.

Is Base85 encryption? No — it's not encryption or compression, just a reversible text representation. Anyone can decode it instantly, so don't use it to protect sensitive information.

Why does decoding sometimes fail? Ascii85 groups need at least 2 characters, and only the standard alphabet plus the z shortcut are valid. Stray characters, or a 5-character group representing a value too large for 32 bits, fail with a descriptive error rather than returning incorrect bytes.

Privacy

All encoding and decoding happens entirely in your browser — your text never leaves your device or gets sent to a server.

base85ascii85encodedecodeencodingpostscriptpdfdeveloper

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.