ASCII85 (also called Base85) encodes binary data as printable ASCII characters using a 5-character block for every 4 bytes, achieving roughly 25% overhead compared to Base64's 33%. It is the encoding format embedded inside PDF files and PostScript streams — when you see <~...~> delimiters in a document's raw bytes, that is ASCII85.
Both Base64 and ASCII85 turn arbitrary binary data into printable text. ASCII85 is more compact: 4 binary bytes become 5 ASCII characters (25% expansion) versus Base64's 4 bytes → 6 characters (33%). The trade-off is that ASCII85 uses more of the printable character range and is less universally supported outside PDF/PostScript contexts. If you are working with PDF internals, PostScript, or Adobe formats, ASCII85 is the correct encoding; for email, JWTs, or web APIs, Base64 is more appropriate.
<~ and ~> delimitersz shorthand for zero-byte groupsz abbreviation mean in ASCII85?When 4 consecutive bytes are all zero (0x00000000), ASCII85 abbreviates the 5-character group "!!!!!" as a single z. This saves 4 characters per run of null bytes.
<~ and ~> delimiters required?In the Adobe/PDF spec, yes — they mark the start and end of an ASCII85 stream. Some tools omit them for raw encoding. This converter includes them by default and strips them when decoding.
PDF supports multiple stream filters. ASCII85 is used when a PDF stream must be 7-bit clean (printable ASCII only) — for example when embedding fonts or images in a format that must survive email or FTP transfer without binary corruption.
Closely related but not identical. "Base85" is a family of encodings; ASCII85 is Adobe's specific variant. The IETF RFC 1924 and ZeroMQ's Z85 are other Base85 variants with different character sets.
See also Base64 Encoder, Base32 Encoder, and UUEncode for other binary-to-text encoding formats.
📖 Reference: Adobe Systems — ASCII85 Encoding (PostScript Reference)