LazyTools

🔒 Every tool runs in your browser — the files and values you enter are never uploaded to any server. How it works

🅰️ Ascii85 Encoder / Decoder

Ascii85 packs 4 bytes into 5 printable characters, making it more compact than Base64 — encode or decode instantly, with optional <~ ~> delimiters.

20 chars → 25 Ascii85 chars (Adobe variant)

Rate this tool:
Anonymous — no account, no identifier

How the ascii85 encoder / decoder works

Ascii85 (also called base85) encodes each group of 4 bytes as 5 printable ASCII characters from "!" to "u". Because it uses 85 symbols instead of Base64's 64, it fits more information per character — the output is about 7% smaller than the equivalent Base64. This is the Adobe variant used inside PDF and PostScript: a group of four zero bytes is abbreviated to a single "z", and the stream can optionally be wrapped in <~ … ~> markers. Decoding reverses it, tolerating whitespace, the z shortcut and the delimiters.

Ascii85 is a transport encoding, not encryption — it is fully reversible and offers no secrecy. Choose it over Base64 when density matters and the output only needs to survive as printable ASCII (as in PDF streams). Note the Adobe variant here differs from Z85 (the ZeroMQ variant), which uses a different alphabet and no z shortcut; they are not interchangeable. Everything runs in your browser and works offline.

Frequently asked questions

What is Ascii85 (base85)?

A binary-to-text encoding that maps every 4 bytes to 5 printable ASCII characters. It is denser than Base64 (which maps 3 bytes to 4 characters), so the encoded text is roughly 7% shorter. It is the encoding used inside PDF and PostScript files.

How is Ascii85 different from Base64?

Base64 uses 64 symbols and expands data by about 33%; Ascii85 uses 85 symbols and expands it by only about 25%, so it is more compact. Base64 is far more widely supported, though — use Ascii85 when you specifically need density or are working with PDF/PostScript.

What do the <~ and ~> markers mean?

They are the Adobe delimiters that mark the start and end of an Ascii85 stream. They are optional here — tick the box to add them on encode; on decode they are stripped automatically if present.

Why does a run of zeros become "z"?

The Adobe variant abbreviates a full group of four zero bytes as the single letter z, saving space. The decoder expands z back into four zero bytes. This shortcut only applies to complete zero groups, not partial ones.

Is Ascii85 the same as Z85?

No. Z85 (used by ZeroMQ) is a different base85 encoding with its own alphabet chosen to be safe in source code, and it has no z shortcut. This tool implements the Adobe/PDF variant; do not mix the two.

Is my text uploaded?

No — encoding and decoding happen entirely in your browser, nothing is transmitted, and it works offline.

Related developer tools

From the blog