📧 XXEncode/XXDecode

🔧
📄
📝
⚙️
📤
📋
Filename:
Permissions: ()
Original Size:
Content Type: Text file
Content Type: Binary file
ℹ️
Character Set: +,-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz (64 chars)
Efficiency: ~75% (3 bytes → 4 characters)
Line Format: Length character + encoded data
Example Header:
begin 644 filename.txt
+2&5L;&\@=V]R;&0@4V5T=&EC
end
⚠️

ℹ️ About XXEncode/XXDecode

XXEncode converts arbitrary file bytes into printable ASCII text so binary data can survive legacy email, UUCP, and Usenet paths that were not safe for raw 8-bit content. It is closely related to UUEncode, but uses the alphabet +,-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz so encoded data avoids the space, backtick, and punctuation-heavy characters that older mail gateways could corrupt.

The public-domain xxencode/xxdecode manual page describes the format as a mail-safe alternative that can also decode UUEncoded input. For comparison, the POSIX uuencode utility defines the historical begin/end wrapper and 45-byte line blocks, while modern email attachments usually use MIME transfer encodings from RFC 2045 or Base64 from RFC 4648.

Use this XXEncode encoder and XXDecode decoder when you need to inspect old .xxe files, recover a binary attachment from a Usenet post, compare XXEncode with UUEncode output, generate a small mail-safe sample, or check whether a pasted block still has the expected header, line prefixes, and footer.

  • Header: begin 644 archive.bin stores a Unix-style file mode and suggested output filename.
  • Data lines: each line begins with a length character; a full line represents 45 input bytes as 60 encoded characters.
  • Six-bit packing: every three source bytes become four printable characters, similar to Base64 but with the XXEncode alphabet.
  • Footer: end marks the stream boundary; some utilities also write byte-count and CRC-16 checks after the payload.
  • Metadata: the stored filename and permissions are hints for decoders, not a security boundary.

Example XXEncoded structure:

begin 644 sample.bin
h...60 encoded characters for a full 45-byte line...
+
end

Important limitations:

  • XXEncode is a legacy interchange format, not encryption, signing, compression, or malware scanning.
  • Line wrapping, missing begin/end markers, edited filenames, or changed alphabet characters can make strict decoders fail.
  • CRC and byte-count handling varies by implementation, so keep original files when preservation or forensic accuracy matters.
  • For new APIs, web payloads, and email systems, MIME Base64 or regular file attachments are usually more interoperable.

Processing in the browser UI is useful for quick checks and legacy conversions. If you use the API endpoint instead, the submitted content is sent to the server for processing.

API Usage Example:

POST /api/tools/encoding-decoding/xxencode
Content-Type: application/json

{
    "text": "abcdef",
    "operation": "encode",
    "filename": "document.txt",
    "permissions": "644",
    "input_format": "text",
    "options": {
        "includeHeaders": true,
        "strictMode": false,
        "lineLength": 45
    }
}
Ready