TFT

Z85 Encoder & Decoder - ZeroMQ Base85

Encode binary data to Z85, a URL-safe Base85 variant used by ZeroMQ, or decode Z85 back to its original form. Provides compact representation with a human-readable character set.

Base85 (Ascii85) Encoder/Decoder

Encode data to Base85/Ascii85 format and decode Base85 strings. Used in PDF files and PostScript.

About Base85/Ascii85

Base85 (Ascii85) is a binary-to-text encoding that uses 85 ASCII characters. It's more efficient than Base64, producing 25% smaller output. Adobe Ascii85 (used in PDF and PostScript) wraps output with <~ and ~> delimiters. RFC 1924 is an alternative variant with a different character set.

How the Z85/Base85 Encoder/Decoder Works

Enter binary data or text to encode to Z85 (ZeroMQ Base85), or paste Z85-encoded data to decode. The tool processes the conversion instantly with validation.

Z85 encodes 4 bytes into 5 ASCII characters. It uses 85 printable characters from the ASCII range. More efficient than Base64 while remaining text-safe and human-readable.

The encoder pads input to multiples of 4 bytes. The decoder validates Z85 format and reconstructs the original binary. Error detection catches invalid characters.

When You'd Actually Use This

Working with ZeroMQ messages

ZeroMQ uses Z85 for binary data in text protocols. Encode binary messages for transport. Decode received Z85 data back to binary.

Embedding binary in JSON

JSON doesn't handle binary. Encode binary data as Z85 strings. More compact than Base64. Parse as regular JSON strings.

Git object encoding

Git uses Ascii85 (similar to Z85) in some formats. Understand the encoding for Git internals. Decode packed objects or patches.

PDF stream encoding

PDF uses Ascii85 for stream compression. Decode PDF streams to analyze content. Understand PDF internal structure.

Creating compact API payloads

Reduce API payload size with Z85. 25% smaller than Base64. Faster transmission, less bandwidth. Good for mobile apps.

Storing binary in text databases

Some databases handle text better than binary. Encode binary as Z85 for storage. Decode when retrieving. Works with any text field.

What to Know Before Using

Z85 differs from standard Base85.Z85 (ZeroMQ) uses a different character set than Ascii85 (Adobe). Both encode 4 bytes to 5 chars. Character mappings differ. This tool uses Z85.

Output is 25% larger than input.4 bytes become 5 characters. 25% overhead. Better than Base64's 33%. Still larger than raw binary.

All characters are printable.Z85 uses ASCII 33-117 excluding backslash. No control characters. Safe for any text transport. Easy to read and debug.

Padding handles incomplete groups.Input not divisible by 4 gets padded. Padding is implicit in the output length. Decoder knows how to handle it.

Pro tip: Z85 is ideal when you need better efficiency than Base64 but can't use raw binary. Perfect for text protocols that need to carry binary data efficiently.

Common Questions

What's the Z85 character set?

85 printable ASCII characters: digits, letters, and symbols. Excludes backslash for easier string handling. Specific order defined by ZeroMQ spec.

How does Z85 compare to Base64?

Z85: 5 chars per 4 bytes (25% overhead). Base64: 4 chars per 3 bytes (33% overhead). Z85 is ~7% more efficient. Both are text-safe.

Is Z85 URL-safe?

Mostly, but not entirely. Some Z85 characters have special URL meaning. For URLs, use Base64URL or percent-encode Z85 output.

Can I encode text directly?

Text is first converted to bytes (UTF-8), then encoded. The result is Z85 representation of the byte sequence. Decode reverses the process.

What about Ascii85?

Ascii85 (Adobe) is similar but uses different characters. Z85 was designed to avoid problematic characters. Both encode 4 bytes to 5 chars.

Is Z85 reversible?

Yes, perfectly lossless. Encode then decode returns exact original data. Used for reliable binary transport over text channels.

Where is Z85 commonly used?

ZeroMQ messaging, some blockchain protocols, compact data serialization. Growing adoption where Base64 overhead matters.