go-supertools
Developer & Data Tools

Base85 Encoder & Decoder

Encode text to Ascii85 or RFC 1924 Base85, or decode them.

Runs in your browser Your input never leaves your device.

0 characters | 0 words

Report a problem with this tool

About this tool

Base85 stores 4 bytes in 5 characters, about 25 percent overhead compared with 33 percent for Base64, so it is a compact way to put binary data into text. Two common versions exist, and this tool offers both. Ascii85 uses the characters from ! to u, writes a run of four zero bytes as a single z, and optionally wraps the data in <~ and ~> as in PDF and PostScript; Git uses a related form for binary patches. The RFC 1924 variant uses a different 85-character set and is what Python's base64.b85encode produces. Choose the version that matches your data, because the same text encodes differently in each. Decoding ignores white space, tells you which character is invalid, and shows non-text results as hex. The encoders and decoders were compared with Python's a85encode (with and without the Adobe wrapper) and b85encode on 133 byte strings, including the empty, all-zero and all-space cases. Everything runs in your browser; nothing is uploaded.

How to use it

  1. Choose encode or decode, and the variant.
  2. Paste your text or Base85.
  3. Tick the wrapper if you need <~ ~>.
  4. Copy the result.

Common problems

The result does not match another tool's
Base85 has several variants. Try the other variant, and check whether the other tool adds the <~ ~> wrapper or the z shortcut.
It says the length is not valid
Base85 text ends in a partial group of 2 to 4 characters at most; a single leftover character cannot occur, so part of the text is missing.
A character is reported as invalid
Ascii85 uses characters from ! to u only. RFC 1924 uses its own set of 85 characters.