Base85 Encoder and Decoder
Convert text to Base85 and decode Base85 back to readable text. Supports the Adobe Ascii85 alphabet (used in PDFs) and the ZeroMQ Z85 alphabet for safer string handling.
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#Ascii85 includes quotes, backticks, and shell metacharacters β fine inside binary streams (PDFs, PostScript), awkward inside JSON, YAML, or shell commands. Z85 swaps those out for safer punctuation.
What is Base85?
Base85 packs four bytes into five printable characters β about 25% denser than Base64 β
which is why Adobe picked the Ascii85 variant for embedded streams in PDF
and PostScript. The four-zero-byte shortcut z keeps long runs of nulls compact.
Z85 uses a different 85-character alphabet that avoids quotes, backticks, and shell metacharacters, so encoded strings can be embedded in source code, JSON, and command lines without escaping. It's the encoding used by ZeroMQ for CurveZMQ keys.
When to use Base85
Reach for Base85 when payload size matters and the consumer can deal with a wider character set than Base64. Ascii85 is the right pick for PDF and PostScript pipelines; Z85 is better when the encoded value will be pasted into config files, JSON, YAML, or a shell.
This tool decodes Adobe's <~ ... ~> framing automatically and accepts
both forms. Output never adds the markers, so feed Ascii85 directly into PDF tools that
expect them by wrapping the result yourself.
Use the API
Call the same encoder server-side or from another origin. CORS is open, no auth required for the free tier.
curl "https://encode-decode.org/api/v1/base85\ ?action=encode&input=Hello%20World"