Ascii85 Encode/Decode
Encode text to Ascii85 (Base85) or decode Ascii85 back to text, with Adobe <~ ~> wrapping, z zero compression and the RFC 1924 IPv6 variant, entirely in your browser.
What is Ascii85 (Base85)?
Ascii85 is a binary-to-text encoding that packs four bytes into five printable ASCII characters by treating the group as a big-endian number in base 85. It was introduced in the btoa utility and adopted by Adobe, which is why it is also called Base85 or Ascii85.
Where is Ascii85 used in practice?
It is embedded in PDF and PostScript files for images and streams, used by Adobe products, applied in Git binary patches, and appears in a special IPv6 form defined by RFC 1924. Some certificate and document formats also accept it as a Base64 alternative.
How does the encoding work?
The data is processed in groups of four bytes. Each group is read as a single 32-bit number, which is written as five digits in base 85 using the characters ! through u. The final incomplete group is padded and truncated to one character more than the bytes it represents, so output is about 25% larger than the input instead of Base64's 33%.
What does the z shortcut do?
In the Adobe variant, four consecutive zero bytes are encoded as the single character z instead of !!!!!, which compresses long runs of nulls nicely. Decoders must reject z in the middle of a group, and RFC 1924 has no z compression at all because z is a regular digit in its alphabet.
What are the <~ and ~> delimiters?
Adobe PostScript wraps Ascii85 data between <~ and ~> so a decoder can find the encoded block inside a document. The wrapper is optional here: switch it off for bare strings, and decoding tolerates the delimiters whether or not you keep the switch on.
How does Base85 compare to Base64?
Base85 encodes 4 bytes into 5 characters (25% overhead) while Base64 encodes 3 bytes into 4 characters (33% overhead), so Ascii85 is slightly more compact. The trade-off is that its alphabet contains quote, backslash and ampersand characters that need escaping in JSON, XML, URLs and shell strings, where Base64 is safer.
What is the RFC 1924 variant?
RFC 1924 defines a Base85 alphabet of 0-9, A-Z, a-z and 23 punctuation symbols for representing IPv6 addresses as fixed 20-character strings. This tool lets you use that alphabet for arbitrary text too; it has no z shortcut and no <~ ~> wrapper.
Is my text uploaded anywhere?
No. Encoding and decoding run entirely in your browser with JavaScript. Nothing you paste is sent to any server, so the tool is safe for confidential content.
Why does decoding report an invalid string?
Every character must belong to the selected alphabet (Adobe: ! through u plus z; RFC 1924: its own 85 symbols), each complete group must represent a value below 2^32, and a leftover group of a single character is meaningless. Any of these problems stops the conversion with a clear message instead of producing garbage.
How to Use Ascii85 Encode/Decode
Ascii85 (Base85) packs four bytes into five printable characters, making it about 25% more compact than Base64. It powers images and streams inside PDF and PostScript files, Git binary patches and a special IPv6 notation. This tool encodes text to Ascii85 and decodes it back, supporting the Adobe btoa flavor with <~ ~> wrappers and z zero compression as well as the RFC 1924 IPv6 alphabet — all locally in your browser.
- Choose the direction: Text → Ascii85 to encode, or Ascii85 → Text to decode.
- Pick a variant: Adobe (btoa) uses the characters ! through u, offers the optional <~ ~> wrapper (toggle below) and compresses four zero bytes as a single z; RFC 1924 uses the IPv6 alphabet of 0-9A-Za-z plus 23 symbols with no z shortcut.
- Type or paste into the input box — the result updates live as you type. Invalid characters or broken groups produce a clear error instead of garbage.
- Use Swap to move the output back into the input and reverse direction, or Copy to send the result to your clipboard.
Decoding ignores whitespace and accepts the <~ ~> delimiters even when the wrapper switch is off — handy for copying streams straight out of PDF files.
Related Tools
- Base64 Encode/Decode Free online Base64 encoder and decoder. Convert text to Base64 and Base64 to text instantly. No server upload, 100% private - runs entirely in your browser.
- Base32 Encoder Decoder Instantly encode text to Base32 or decode Base32 back to text. 100% browser-based, zero data upload. RFC 4648 compliant. Ideal for TOTP secrets, OTP keys, QR code data, and binary-to-text conversion.
- Hex to Text Converter Convert hexadecimal strings to readable text instantly. Decode hex values into ASCII or UTF-8 text with support for multiple formats.
- Hex Viewer View file contents in hex dump format with search, offset navigation, and virtual scrolling
- AES Encryption / Decryption AES encrypt/decrypt with CBC, CFB, CTR, OFB, ECB modes, Pkcs7/ZeroPadding/NoPadding, 128/192/256-bit keys, Base64 output, auto-detect key/IV format
- Brotli Compressor Free online Brotli compressor. Compress files to .br with quality 0–11 or decompress .br back to the original. Runs entirely in your browser — no upload, no install.
- Zstd Compressor Free online zstd compressor. Compress files to .zst with Zstandard levels 1–19 or decompress .zst back to the original. Runs entirely in your browser — no upload, no install.
- MessagePack Converter Free online MessagePack converter. Encode JSON to msgpack and decode msgpack hex, base64 or .bin files back to readable JSON, with a size comparison. No upload, runs in your browser.