What is Base85 Encoding?
Base85 (also known as Ascii85) is a binary-to-text encoding scheme that converts binary data into ASCII text using 85 printable characters. It encodes 4 bytes of binary data into 5 ASCII characters, making it approximately 25% more efficient than Base64 (which encodes 3 bytes into 4 characters for 33% overhead). The Adobe Ascii85 variant wraps output in <~ and ~> delimiters and uses the special 'z' character to represent four consecutive zero bytes for compactness — this makes it particularly efficient for data with many null bytes. RFC 1924 uses a different character set optimized for IPv6 address representation. Base85 is the standard encoding used in PDF and PostScript files for embedding binary streams.
How to Use
- Select the mode: Encode (text to Base85) or Decode (Base85 to text) using the toggle button.
- Choose the variant: Ascii85 (Adobe) for PDF/PostScript compatibility, or RFC 1924 for IPv6 addresses.
- For encoding, optionally enable <~ ~> delimiters and line wrapping using the options panel.
- Enter your text or Base85 data in the input field.
- Click 'Encode' or 'Decode' to convert. Copy the result using the Copy button.
Why Use This Tool?
Tips & Best Practices
- Base85 is less widely supported than Base64 — use it when you specifically need compactness or PDF/PostScript compatibility.
- The Adobe Ascii85 format with <~ ~> delimiters is the most common variant and is required for PDF compatibility.
- The 'z' character in Ascii85 represents 4 zero bytes, making null-heavy binary data very compact.
- RFC 1924 was designed for IPv6 addresses but can encode any binary data — it uses a different character set than Ascii85.
Frequently Asked Questions
What is Base85 encoding?
Base85 (Ascii85) is a binary-to-text encoding that converts 4 bytes of binary data into 5 ASCII characters using 85 printable characters. It's about 25% more efficient than Base64, which converts 3 bytes into 4 characters (33% overhead). This makes Base85 the preferred encoding when compactness matters.
When should I NOT use Base85?
Avoid Base85 when: you need broad compatibility (Base64 is more universally supported); you are encoding data for URLs (use URL-safe Base64 instead); your target system does not implement Base85 decoding; or you are working with email attachments (MIME requires Base64). Use Base64 unless you have a specific reason to choose Base85.
How does Base85 compare to Base64?
Base85 produces smaller output than Base64 for the same input. Base64 has 33% overhead while Base85 has only 25% overhead. However, Base64 is more widely supported and uses a simpler character set. Use Base85 when compactness matters, such as in PDF files or when bandwidth is limited.
What is the Adobe Ascii85 format?
Adobe Ascii85 wraps the encoded output with <~ and ~> delimiters. It also uses the special 'z' character to represent four consecutive zero bytes, making the encoding more compact for data with many null bytes. This is the format used in PDF and PostScript files.
What is RFC 1924?
RFC 1924 defines an alternative Base85 encoding with a different character set (0-9, A-Z, a-z, and special characters). It was proposed for compact IPv6 address representation but can encode any binary data. It is less common than Adobe Ascii85.
Is my data sent to a server?
No, all encoding and decoding happens entirely in your browser. Your data is never sent to any server. No data is collected, stored, or transmitted. You can safely encode or decode sensitive binary data.
Real-world Examples
Encoding text with Adobe Ascii85
The classic example: encoding 'Hello, World!' produces the Ascii85 string with Adobe delimiters, as seen in PDF file streams.
Hello, World!
<~87cURD_*#TDfTZ)~>
Zero byte compression in Ascii85
Four zero bytes are encoded as a single 'z' character in Adobe Ascii85, making null-heavy data like image padding very compact compared to Base64.
\x00\x00\x00\x00
<~z~>