Ascii85 / Base85 Encoder and Decoder

Encode and decode Ascii85 and Z85 Base85 in your browser. Your text stays on your device.

The Ascii85 / Base85 Encoder / Decoder runs entirely in your browser. The text and Base85 strings you encode or decode never leave your device and nothing is uploaded to ArrayKit.

Open the Base64 Encoder / Decoder

About Ascii85 / Base85 Encoder / Decoder

The Ascii85 / Base85 Encoder / Decoder turns UTF-8 text into Ascii85 or Z85 and converts either format back into readable text. Ascii85 (the Adobe/btoa variant used by PDF and PostScript) packs every 4 bytes into 5 printable characters from '!' through 'u', and a single 'z' stands in for a run of four zero bytes to keep the output shorter. Z85, the ZeroMQ variant, uses its own 85-character alphabet and requires the byte length to be a multiple of 4 on encode and the text length to be a multiple of 5 on decode. Switch the Segmented control between the two variants and between Encode and Decode, and the tool tells you exactly what went wrong when a character falls outside the alphabet or the length is invalid. It is handy when you are inspecting a PDF stream, working with ZeroMQ message framing, or comparing Base85 output against Base64. Everything runs locally — the text you paste never leaves your browser.

Features

How to use the Ascii85 / Base85 Encoder / Decoder

  1. Pick Ascii85 or Z85 from the variant switch
  2. Keep the Encode tab selected and type or paste your text
  3. Copy the Base85 output with the Copy button
  4. Switch to Decode and paste a Base85 string to recover the text

Example

Input

Hello

Output

87cURDZ

"Hello" encodes to "87cURDZ" in Ascii85.

Common errors & troubleshooting

Frequently asked questions

What is the difference between Ascii85 and Z85 in this Base85 Encoder?
Ascii85 is the Adobe/btoa variant used by PDF and PostScript; it uses '!' through 'u' and lets a run of four zero bytes shrink to a single 'z'. Z85 is the ZeroMQ variant with its own alphabet, and it does not support the 'z' shortcut or partial-group padding.
Does the Ascii85 / Base85 Encoder add the <~ and ~> wrapper?
No, encoding produces the raw Ascii85 string without the Adobe <~ ~> delimiters. Decode mode still accepts and strips the wrapper if your input includes it.
Why does Z85 decoding fail when Ascii85 decoding of the same style doesn't?
Z85 requires the encoded text length to be an exact multiple of 5 characters, with no padding scheme for partial groups. Ascii85 pads a short final group internally, so it tolerates lengths that Z85 rejects.
Is text treated as UTF-8 when I encode with this Base85 tool?
Yes. Any text you type is converted to UTF-8 bytes before Base85 encoding, and decoded bytes are interpreted back as UTF-8, so accented letters and emoji round-trip correctly.
Is my text uploaded when I encode or decode Ascii85 or Z85?
No. The Ascii85 / Base85 Encoder / Decoder runs entirely in your browser. The text and Base85 strings you paste stay on your device and are never uploaded to ArrayKit.
What does the 'z' shortcut mean when decoding Ascii85?
A single 'z' character represents a group of four consecutive zero bytes. The decoder expands each 'z' back into those four zero bytes automatically, so you don't need to handle it manually.

Related tools

All ArrayKit tools