> adobe | postscript | pdf <

// Ascii85 - Adobe's Base85 encoding for PostScript and PDF

[ADOBE]

Adobe Standard

Official encoding used in PostScript and PDF documents worldwide.

[EFFICIENT]

25% Overhead

More efficient than Base64 with only ~25% size increase.

[COMPACT]

Zero Compression

Special 'z' character represents four zero bytes efficiently.

>> technical info

How Ascii85 Works:

Ascii85 encodes 4 bytes into 5 printable ASCII characters (33-117). It uses special encoding for all-zero groups ('z') and includes <~ ~> delimiters in Adobe's implementation.

Example:

"Hello" → <~87cURD]i,"~>

Why Use Ascii85:

  • >Adobe PostScript/PDF standard
  • >25% overhead vs 33% for Base64
  • >Efficient zero compression
  • >Printable ASCII output
  • >Wide tool support

>> frequently asked questions

What is Ascii85 encoding?

Ascii85 (also called Base85) is Adobe's binary-to-text encoding scheme used in PostScript and PDF files. It encodes binary data using 85 printable ASCII characters.

What are the <~ ~> delimiters?

The <~ and ~> delimiters mark the beginning and end of Ascii85-encoded data in Adobe's implementation. They help parsers identify encoded sections in PostScript/PDF files.

How does Ascii85 differ from Z85?

While both are Base85 variants, Ascii85 uses a different character set and includes whitespace. Z85 is optimized for source code, while Ascii85 is optimized for PostScript/PDF.

What does the 'z' character mean?

The 'z' character is a special compression feature in Ascii85. It represents four consecutive zero bytes, making the encoding more efficient for data with many zeros.

Other Languages

References

How we make sure

We check this tool with the automated test suites linked below. Example checks are shown in their original language.

Verification method
Cross-decode page and Python outputs, including UTF-8, high bytes and partial four-byte groups.
Comparison reference
Python standard-library base64.a85encode / a85decode.
Verification scope
These samples and boundaries do not prove correctness for every input.
Test source and cases (select a file to read it)
  • encoding-reliability.test.js
    • ASCII85 and Base85: real encoders and decoders agree with Python base64.a85 including UTF-8 and partial tuples

These checks cover the listed examples and boundaries, not every possible input. Round trips and checks using the same library are not independent verification.