ASCII85 Encoder / Decoder

Encode UTF-8 text to Adobe ASCII85 or decode an ASCII85 value back to text.

  • Runs locally in your browser
  • No upload required

Try it

Processed entirely in your browser; nothing is uploaded.

Result
BOu!rDZ

Supported formats

Input
text
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Encoded 5 character(s) of UTF-8 text to 7 ASCII85 character(s).

How it works

  • Read the input as UTF-8 bytes.
  • Grouped the bytes in fours, treating each group as a 32-bit big-endian integer and emitting five base-85 characters from '!' to 'u'.
  • Wrote a full zero group as 'z' and truncated the padded final group to its real length.
  • ASCII85 is an encoding, not encryption; it provides no confidentiality.
  • The 'z' shorthand is only valid for a complete four-zero-byte group.

Methodology

  1. Encode by reading four UTF-8 bytes as a 32-bit big-endian integer and emitting five base-85 digits biased by 33, with the 'z' shorthand for a zero group.
  2. Truncate the final group to the real number of input bytes plus one.
  3. Decode by reversing the digit mapping, rejecting groups that overflow 32 bits, and dropping the padding bytes of a partial final group.

Usage

  1. Choose encode or decode.
  2. Paste text to encode, or an ASCII85 value to decode.
  3. Read the result; use Copy result to reuse it.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Encode ASCII

jsonSelect to copy
{
  "mode": "encode",
  "value": "hello"
}

Encode Unicode

jsonSelect to copy
{
  "mode": "encode",
  "value": "café 🌍"
}

Decode an ASCII85 value

jsonSelect to copy
{
  "mode": "decode",
  "value": "BOu!rDZ"
}

Limitations

Where ASCII85 is used

Adobe systems use ASCII85 to carry binary data through text-only PostScript and PDF streams. It is more compact than Base64 (four bytes to five characters) at the cost of punctuation-heavy output.

Frequently asked questions

What does the 'z' character mean?
In Adobe ASCII85 a whole group of four zero bytes is represented by a single 'z' instead of '!!!!!', which shortens runs of zeros in binary streams.
Why is ASCII85 not the same as Base85?
'Base85' names a family. Adobe ASCII85 uses the '!'..'u' range and the 'z' shorthand; other schemes use different alphabets and are not interchangeable.

Sources

  1. PDF 32000-1:2008 — ASCII85Decode filter — Adobe
  2. PostScript Language Reference — ASCII85Encode filter — Adobe