Decode Ascii85 or base85 data back to bytes, accepting the Adobe delimiters and the z shortcut that stands for four zero bytes.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Unpacking Ascii85
Every five characters become four bytes. The decoder accepts the Adobe framing, the z shortcut for four zero bytes, and whitespace anywhere, since Ascii85 inside a PDF is wrapped across lines at arbitrary points.
Worked example
<~ ... ~> delimiters stripped if present z → 00 00 00 00 final group shorter than 5 → padded, then truncated
The final group
Data whose length is not a multiple of four leaves a short final group. It is padded to five characters, decoded, and the padding bytes are then discarded. Decoders that skip that truncation append spurious trailing bytes, which is a classic source of corrupted embedded images.
Where the data comes from
Almost always a PDF or PostScript file — an embedded image, an ICC profile or a font subset. What comes out is binary, so the result is shown as bytes rather than as text that would only be misleading.
Limits
The decoder handles the encoding, not the container: it will not parse the PDF around it or identify what the bytes are. Everything is decoded in your browser.
How to use the Ascii85 Decoder
- Paste the Ascii85 data, with or without the surrounding delimiters.
- Keep the binary option on "Hex dump" for PDF stream data, which is rarely readable text.
- Click "Decode Ascii85".
Frequently asked questions
Do I need to strip the delimiters first?
No. The opening and closing markers used by Adobe are recognised and removed automatically, so you can paste a stream exactly as it appears in a PDF.
What causes a "group decodes above 2 to the 32" error?
Each five-character group must represent a 32-bit value. If the digits decode to something larger, the group is invalid – normally the sign of corrupted data, or of text that is not really Ascii85.
Why does the last group behave differently?
A final partial group is padded internally and then trimmed back, so that the byte count matches the original data exactly. A trailing group of only one character is impossible in valid Ascii85 and is reported as truncation.