Developer Tools
Ascii85 Encoder Decoder
Encode and decode Ascii85 in your browser. Supports Adobe PDF ASCII85, btoa style, and ZeroMQ Z85 with text or hex input.
Variant
Quick conversions
Input
94 bytesAscii85 output
<~9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4Gp$d7F!,L7@<6@)/0JDEF<G%<+EV:2F!,O<DJ+*.@<*K0@<6L(Df-\0Ec5e;DffZ(EZee.Bl.9pF"R~>
Variant: Adobe
Output length: 122 chars
Input bytes: 94
Expansion: 1.30x
How Base85 works
- Bytes are grouped into 4-byte (32-bit) chunks. Each chunk is divided by 85 four times to produce five output digits, so 4 input bytes become 5 output characters. The expansion ratio is 5:4, about 25 percent, compared to Base64’s 4:3 expansion of about 33 percent.
- Adobe ASCII85 (used inside PDF objects and PostScript) takes the digits from the contiguous block of printable ASCII starting at ! (33). An all-zero group is written as a single z; PDF readers expand it back during decode.
- btoa-style ASCII85 uses the same alphabet and z shortcut, and adds a y shortcut for an all-spaces group. This is what Paul Rutter’s original btoa(1) program produced.
- Z85 (ZeroMQ, RFC 32) uses an alphabet without quote, backslash, or comma characters, which makes it safe to drop into source code string literals. Z85 has no z or y shortcuts, and the input byte length must be a multiple of 4.
How to use
- Pick Encode (bytes to Ascii85) or Decode (Ascii85 to bytes) at the top.
- Choose the variant: Adobe ASCII85 for PDF and PostScript, btoa style for the original Unix btoa output and Python a85encode with use_marker, or Z85 for ZeroMQ.
- Paste your text or hex bytes (encode) or your Ascii85 string with optional <~ ~> delimiters (decode), and use the toggle to switch between UTF-8 and hex for the input or output.
- Read the result on the right with byte count and expansion ratio, then click Copy Ascii85 or Copy decoded to grab the output.
About this tool
Ascii85 Encoder Decoder converts between raw bytes and a Base-85 text representation. Base-85 packs 4 input bytes into 5 output characters, so the encoded form is about 25 percent larger than the input, which is tighter than Base64's 33 percent overhead. Adobe ASCII85 is the form embedded inside PDF objects and PostScript literal strings, with an all-zero shortcut and optional <~ ~> stream delimiters. btoa style ASCII85 adds the y shortcut for an all-spaces group from the original btoa(1) program and matches Python's base64.a85encode with use_marker. Z85 (ZeroMQ, RFC 32) uses a safer alphabet that contains no quote, backslash, or comma characters, so the encoded string can sit inside source-code literals without escaping; Z85 needs the input to be a multiple of 4 bytes. The tool accepts either UTF-8 text or a hex byte string as input, and the decoded output can be rendered as UTF-8 text or as a hex dump. Errors point at the exact character that broke decoding, so a stray period or missing delimiter is easy to spot. Everything runs in your browser, so secret keys, PDF stream excerpts, and any other byte content you are inspecting never leave the tab.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Base64 Encoder Decoder
Encode and decode Base64 with full Unicode.
Open tool
DeveloperBase32 Encoder / Decoder
Two-way Base32 with RFC 4648 Standard, Hex, and Crockford alphabets.
Open tool
DeveloperBase58 Encoder / Decoder
Encode and decode Base58 with Bitcoin, Ripple, Flickr alphabets and Base58Check.
Open tool
DeveloperURL Encoder Decoder
Encode and decode percent-encoded URLs.
Open tool