Ascii85 / Base85 Encoder & Decoder
Encode and decode Ascii85 (Base85) from UTF-8 text or hex bytes — Adobe/PDF variant with <~ ~> delimiters, or the plain variant. All in your browser.
Adobe/PDF adds <~ ~> and the z zero shortcut. Decoding accepts both variants. Charset is ! to u (plus z).
How to use
- Pick Encode or Decode.
- Choose the Adobe/PDF or plain variant, and whether your data is UTF-8 text or hex bytes.
- Type or paste into the input box and copy the result.
About this tool
ShowHide
Ascii85 (also called Base85) packs four bytes into five printable ASCII characters, making it about 7% more compact than Base64 while staying text-safe. It's the binary-to-text encoding used inside PDF streams (ASCII85Decode filter) and PostScript, and a handy way to embed small binaries in source or config. This tool encodes UTF-8 text or raw hex bytes to Ascii85 and decodes it back. The Adobe/PDF variant wraps output in <~ … ~> delimiters and compresses an all-zero four-byte group to a single 'z'; the plain variant emits just the character stream. Decoding is lenient — it accepts the z shortcut and the optional delimiters either way — and validates each group, rejecting truncated single-character tails and groups that overflow 32 bits. Everything runs locally; nothing is uploaded.
Frequently asked questions
How is Ascii85 different from Base64?
Both turn bytes into printable ASCII, but Ascii85 uses 85 characters to encode 4 bytes as 5 characters (a 25% size increase) versus Base64's 64 characters encoding 3 bytes as 4 (a 33% increase). So Ascii85 output is a bit smaller, at the cost of using more punctuation characters that may need escaping in some contexts.
What does the 'z' do?
In the Adobe variant, a four-byte group that is all zeros is written as a single 'z' instead of '!!!!!', which saves space in data with runs of zeros. It's only valid between groups, never inside one. The plain variant never emits 'z'. This tool's decoder always understands 'z' regardless of variant.
What are the <~ and ~> markers?
They're the Adobe Ascii85 delimiters that mark the start and end of the encoded block (PDF uses ~> as the end-of-data marker). The Adobe variant adds them on encode; the decoder strips them automatically if present, so you can paste PDF/PostScript Ascii85 directly.
Why did decoding fail?
Ascii85 only uses the characters '!' (0x21) through 'u' (0x75), plus 'z'. A character outside that range, a final group with just one character (which can't represent any whole byte), or a five-character group whose value exceeds 0xFFFFFFFF is invalid and reported as an error.
Related tools
Base58 Encoder / Decoder (Bitcoin, IPFS)
Encode and decode Base58 with the Bitcoin, Ripple or Flickr alphabet — from UTF-8 text or raw hex, with correct leading-zero handling.
Developer
CBOR Decoder (Diagnostic Notation)
Decode CBOR (RFC 8949) from hex or base64 into readable diagnostic notation — including tags, floats and indefinite-length items. All in your browser.
Developer
ASCII Code Table
Browse and search the 256-row ASCII / extended-ASCII table — decimal, hex, octal, binary, and the named control characters.
Developer
Base64 to Hex Converter (and back)
Convert a Base64 string to hexadecimal bytes and hex back to Base64, with URL-safe support, in your browser.
Developer
CRC-32 Calculator (CRC-32 & CRC-32C)
Compute the CRC-32 (IEEE 802.3, used by zip/gzip/PNG) or CRC-32C (Castagnoli) checksum of text or hex bytes, in hex and unsigned decimal.
Developer
Bitwise Calculator
AND, OR, XOR, NOT and bit shifts on two integers — shown in binary, hex, unsigned and signed decimal, with selectable 8, 16, 32 or 64-bit width.
Developer