Skip to content
TextArray
100% local

Ascii85 encode and decode

Encode text to Ascii85 (base85) and decode it back, with optional Adobe delimiters.

Input

Ascii85 encode and decode

Ascii85, also called base85, packs binary data into printable text more tightly than Base64. It maps every four bytes onto five characters drawn from "!" through "u", so the output grows by only about a quarter instead of a third. That density is why Adobe built it into PostScript and PDF, where it wraps embedded images, fonts and streams, and why it turns up in Git binary patches and Git's own object identifiers.

Pick a direction and paste your text. Encoding takes the UTF-8 bytes of the input and converts them group by group; a final partial group of one to three bytes is padded and trimmed exactly as the Adobe specification requires, so the length always round-trips. Decoding reverses that: whitespace and line breaks in the pasted value are ignored, so data copied out of a PDF or an email still reads cleanly, and the result is shown back as text.

Two options match the Adobe variant. "Adobe delimiters" wraps the output in the <~ and ~> markers PostScript expects; the decoder strips those markers whether or not they are present, so you can paste a framed or bare value. "Abbreviate zero groups as z" emits a single z for any all-zero four-byte group, the standard shorthand — the decoder always understands z regardless of the setting.

When something is wrong, the tool says what and where: an out-of-range character is named with its position, a stray z inside a group is flagged, and a truncated final group is reported instead of producing silent garbage. Everything runs in your browser, so nothing you paste is ever uploaded. Copy the result or download it as a .txt file.

FAQ

How is Ascii85 different from Base64?
Both turn binary into printable text, but Ascii85 encodes four bytes as five characters instead of three bytes as four, so it is more compact — roughly 25% overhead versus 33%. It uses a wider alphabet ("!" to "u"), which is why it appears in PostScript, PDF and Git rather than in URLs or email headers.
What do the Adobe delimiters do?
PostScript and PDF wrap Ascii85 data in <~ at the start and ~> at the end. Turn the option on to add them when encoding. When decoding, the markers are stripped automatically whether or not they are there, so a framed or a bare value both work.
What is the z abbreviation?
A group of four zero bytes would encode as five exclamation marks; the Adobe variant shortens it to a single z. Leave the option on for standard output, or off if a strict tool needs the full !!!!! form. The decoder always accepts z, but only in place of a whole group, never in the middle of one.
Why does decoding say my data is binary?
Ascii85 in PDFs usually wraps images or fonts, which are raw binary, not text. If the decoded bytes are not valid UTF-8, the tool tells you instead of printing replacement characters. Text you encoded yourself will always decode back cleanly.
Is my text uploaded anywhere?
No. Encoding and decoding run entirely in your browser and your data never leaves your device.