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.

Built and maintained by Udit Agarwal

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

  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

  • 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

Guides

More Encode / Decode tools

  • Unicode Escape / Unescape — Escape text to Unicode escape sequences and unescape them back.
  • Hex Dump Viewer — View text or a file as a classic hex + ASCII dump, with adjustable width.
  • Nano ID Generator — Generate URL-safe, collision-resistant Nano IDs with a custom size and alphabet.
  • Vigenère Cipher — Encode and decode Vigenère, autokey and Beaufort ciphers, with key-length hints.
  • QR Code Reader — Scan a QR code from an image, a screenshot or your camera and see what is inside — links, Wi-Fi, contacts and payments.
  • QR Code with Logo — Put your logo in a QR code and restyle its colours, shapes and frame, with a live check that it still scans.
  • UPI QR Code Generator — Make a UPI payment QR code from a UPI ID with an optional amount and note, and print a Scan to pay card.
  • vCard QR Code Generator — Turn contact details into a QR code phones can save in a tap, as vCard 3.0, 4.0 or MECARD, with a .vcf download.
  • WhatsApp QR Code Generator — Create a wa.me chat link and QR code from a phone number and an optional first message.
  • Bulk QR Code Generator — Turn a list or a CSV into up to 500 QR codes as a ZIP of PNG or SVG files, or a printable labelled sheet.
  • Unzip Files Online — Open a ZIP archive in your browser, preview files and extract one or all of them without uploading anything.
  • Base64 Encode / Decode — UTF-8 safe Base64 encoding and decoding.

See all Encode / Decode tools (31) · All tools