🔤 ASCII85 Encoder/Decoder

🔧
⚙️
📝
💡 Examples: Text data, binary content, file data 💡 Examples: 87cURD]j7BEbo80, <~87cURD]j7BEbo80~>
⚡
📤
{{ outputText }}
📊
Original Size:
{{ stats.originalSize }} bytes
Encoded Size:
{{ stats.encodedSize }} bytes
Overhead: {{ stats.overhead }}%
Efficiency: {{ stats.efficiency }}%
Compressions: {{ stats.compressions }} sequences
🔍
Character Range: ASCII 33-117 (! to u)
Encoding Base: Base85 (5 bytes → 4 characters)
Compression: Zero (z) , Space (y)
⚠️ {{ error }}
💡
To Encode: Enter text or binary data to convert to ASCII85 format
To Decode: Enter ASCII85 encoded data (with or without <~ ~> delimiters)
Adobe Format: Use delimiters and line wrapping for PostScript/PDF compatibility
Compression: Enable zero/space compression for better efficiency

ℹ️ About ASCII85 Encoder/Decoder

ASCII85, also called Adobe Base85, is a binary-to-text encoding that represents each group of four 8-bit bytes as five printable ASCII characters. It is used by PostScript and PDF filters to carry binary streams through text-oriented channels with about 25% size overhead, compared with about 33% for Base64.

Practical uses:

  • Encode or decode PostScript and PDF streams that use ASCII85Decode.
  • Inspect document fragments, printer data, and legacy graphics files that embed binary bytes in text.
  • Move binary-like data through systems that accept printable 7-bit ASCII but not arbitrary bytes.
  • Compare Base85 output with Base64, ASCIIHex, UUEncode, or other binary-to-text formats.

Technical details:

  • Adobe ASCII85 treats a 4-byte chunk as a 32-bit big-endian number and converts it to five base-85 digits.
  • The main alphabet is ASCII character 33 through 117, from ! through u.
  • Short final chunks are padded during calculation, then encoded as input byte count plus one output characters.
  • The optional Adobe delimiters are <~ and ~>; whitespace is ignored while decoding.
  • z can replace four zero bytes when zero compression is enabled. This tool also supports the optional y shortcut for four spaces when that setting is enabled.

Examples: Hello World! encodes to 87cURD]j7BEbo80, or <~87cURD]j7BEbo80~> with Adobe delimiters. Four zero bytes can encode as z when zero compression is active.

Limitations: ASCII85 is an encoding, not encryption or compression, and it does not prove that the decoded bytes are safe or meaningful. Adobe ASCII85 is not interchangeable with other Base85 alphabets such as the IPv6-focused alphabet in RFC 1924. Decoding arbitrary binary as text may produce replacement characters if the bytes are not valid UTF-8.

References: see Adobe's PDF Reference 1.7 for the ASCII85Decode filter, and the PostScript Language Reference for PostScript filter behavior.

Privacy note: Use the browser tool for local inspection and avoid pasting secrets, private documents, keys, or tokens into any online encoder unless you are comfortable with that data being processed by the site.

API Usage Example:

POST /api/tools/encoding-decoding/ascii85
Content-Type: application/json

{
    "text": "Hello World!",
    "operation": "encode",
    "options": {
        "wrapLines": true,
        "addDelimiters": true,
        "useZeroCompression": true,
        "useSpaceCompression": false
    }
}
Ready