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
- Encode UTF-8 text to Ascii85 (Adobe/btoa style, no <~ ~> wrapper) or Z85
- Decode Ascii85 or Z85 back into the original text
- Segmented control to switch between the Ascii85 and Z85 alphabets
- Ascii85 decoding tolerates whitespace and an optional <~ ~> wrapper
- Recognizes the 'z' shortcut for a run of four zero bytes
- Clear error banner when Z85 length is not a multiple of 4 or 5
- Clear error banner for characters outside the selected alphabet
- Runs entirely in your browser with no text sent anywhere
How to use the Ascii85 / Base85 Encoder / Decoder
- Pick Ascii85 or Z85 from the variant switch
- Keep the Encode tab selected and type or paste your text
- Copy the Base85 output with the Copy button
- 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
- Z85 decode shows 'requires input length to be a multiple of 5 characters.' — Z85 always groups characters five at a time. Make sure you copied the complete Z85 string with no characters cut off or extra ones appended.
- Z85 encode shows 'requires input length to be a multiple of 4 bytes.' — Unlike Ascii85, Z85 does not pad partial groups. Encode a byte count that is a multiple of 4, or switch to Ascii85 for arbitrary lengths.
- Ascii85 decode shows 'Invalid Ascii85 character.' — Ascii85 only uses the printable range '!' through 'u'. A pasted Z85 string, Base64 string, or stray symbol will trigger this error — switch variants or re-copy the source.
- Decoded text looks like garbled bytes rather than words. — The original data may be raw binary rather than UTF-8 text, so it will not display as readable characters even though the decode itself succeeded.
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